analysis.normed.field.basicMathlib.Analysis.Normed.Field.Basic

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -318,13 +318,13 @@ instance Pi.nonUnitalSeminormedRing {π : ι → Type _} [Fintype ι]
 #align pi.non_unital_semi_normed_ring Pi.nonUnitalSeminormedRing
 -/
 
-#print MulOpposite.nonUnitalSeminormedRing /-
-instance MulOpposite.nonUnitalSeminormedRing : NonUnitalSeminormedRing αᵐᵒᵖ :=
+#print MulOpposite.instNonUnitalSeminormedRing /-
+instance MulOpposite.instNonUnitalSeminormedRing : NonUnitalSeminormedRing αᵐᵒᵖ :=
   { MulOpposite.seminormedAddCommGroup with
     norm_hMul :=
       MulOpposite.rec' fun x =>
         MulOpposite.rec' fun y => (norm_mul_le y x).trans_eq (mul_comm _ _) }
-#align mul_opposite.non_unital_semi_normed_ring MulOpposite.nonUnitalSeminormedRing
+#align mul_opposite.non_unital_semi_normed_ring MulOpposite.instNonUnitalSeminormedRing
 -/
 
 end NonUnitalSeminormedRing
@@ -487,10 +487,10 @@ instance Pi.seminormedRing {π : ι → Type _} [Fintype ι] [∀ i, SeminormedR
 #align pi.semi_normed_ring Pi.seminormedRing
 -/
 
-#print MulOpposite.seminormedRing /-
-instance MulOpposite.seminormedRing : SeminormedRing αᵐᵒᵖ :=
-  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.seminormedAddCommGroup with }
-#align mul_opposite.semi_normed_ring MulOpposite.seminormedRing
+#print MulOpposite.instSeminormedRing /-
+instance MulOpposite.instSeminormedRing : SeminormedRing αᵐᵒᵖ :=
+  { MulOpposite.instNonUnitalSeminormedRing, MulOpposite.seminormedAddCommGroup with }
+#align mul_opposite.semi_normed_ring MulOpposite.instSeminormedRing
 -/
 
 end SeminormedRing
@@ -519,10 +519,10 @@ instance Pi.nonUnitalNormedRing {π : ι → Type _} [Fintype ι] [∀ i, NonUni
 #align pi.non_unital_normed_ring Pi.nonUnitalNormedRing
 -/
 
-#print MulOpposite.nonUnitalNormedRing /-
-instance MulOpposite.nonUnitalNormedRing : NonUnitalNormedRing αᵐᵒᵖ :=
+#print MulOpposite.instNonUnitalNormedRing /-
+instance MulOpposite.instNonUnitalNormedRing : NonUnitalNormedRing αᵐᵒᵖ :=
   { MulOpposite.normedAddCommGroup with norm_hMul := norm_mul_le }
-#align mul_opposite.non_unital_normed_ring MulOpposite.nonUnitalNormedRing
+#align mul_opposite.non_unital_normed_ring MulOpposite.instNonUnitalNormedRing
 -/
 
 end NonUnitalNormedRing
@@ -561,10 +561,10 @@ instance Pi.normedRing {π : ι → Type _} [Fintype ι] [∀ i, NormedRing (π
 #align pi.normed_ring Pi.normedRing
 -/
 
-#print MulOpposite.normedRing /-
-instance MulOpposite.normedRing : NormedRing αᵐᵒᵖ :=
+#print MulOpposite.instNormedRing /-
+instance MulOpposite.instNormedRing : NormedRing αᵐᵒᵖ :=
   { MulOpposite.normedAddCommGroup with norm_hMul := norm_mul_le }
-#align mul_opposite.normed_ring MulOpposite.normedRing
+#align mul_opposite.normed_ring MulOpposite.instNormedRing
 -/
 
 end NormedRing
Diff
@@ -5,7 +5,7 @@ Authors: Patrick Massot, Johannes Hölzl
 -/
 import Algebra.Algebra.Subalgebra.Basic
 import Analysis.Normed.Group.Basic
-import Topology.Instances.Ennreal
+import Topology.Instances.ENNReal
 
 #align_import analysis.normed.field.basic from "leanprover-community/mathlib"@"10bf4f825ad729c5653adc039dafa3622e7f93c9"
 
@@ -434,7 +434,7 @@ See also `nnnorm_pow_le`. -/
 theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n
   | 1, h => by simp only [pow_one]
   | n + 2, h => by
-    simpa only [pow_succ _ (n + 1)] using
+    simpa only [pow_succ' _ (n + 1)] using
       le_trans (nnnorm_mul_le _ _) (mul_le_mul_left' (nnnorm_pow_le' n.succ_pos) _)
 #align nnnorm_pow_le' nnnorm_pow_le'
 -/
@@ -916,7 +916,7 @@ theorem punctured_nhds_neBot (x : α) : NeBot (𝓝[≠] x) :=
   rintro ε ε0
   rcases exists_norm_lt α ε0 with ⟨b, hb0, hbε⟩
   refine' ⟨x + b, mt (set.mem_singleton_iff.trans add_right_eq_self).1 <| norm_pos_iff.1 hb0, _⟩
-  rwa [dist_comm, dist_eq_norm, add_sub_cancel']
+  rwa [dist_comm, dist_eq_norm, add_sub_cancel_left]
 #align normed_field.punctured_nhds_ne_bot NormedField.punctured_nhds_neBot
 -/
 
Diff
@@ -772,7 +772,7 @@ instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContin
           inv_mul_cancel r0, mul_inv_cancel e0, one_mul, mul_one]
       _ = ‖r - e‖ / ‖r‖ / ‖e‖ := by field_simp [mul_comm]
       _ ≤ ‖r - e‖ / ‖r‖ / ε :=
-        div_le_div_of_le_left (div_nonneg (norm_nonneg _) (norm_nonneg _)) ε0 he.le
+        div_le_div_of_nonneg_left (div_nonneg (norm_nonneg _) (norm_nonneg _)) ε0 he.le
   refine' squeeze_zero' (eventually_of_forall fun _ => norm_nonneg _) this _
   refine' (((continuous_const.sub continuous_id).norm.div_const _).div_const _).tendsto' _ _ _
   simp
Diff
@@ -730,8 +730,8 @@ theorem dist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) : dist z⁻¹ w
 
 #print nndist_inv_inv₀ /-
 theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
-    nndist z⁻¹ w⁻¹ = nndist z w / (‖z‖₊ * ‖w‖₊) := by rw [← NNReal.coe_eq];
-  simp [-NNReal.coe_eq, dist_inv_inv₀ hz hw]
+    nndist z⁻¹ w⁻¹ = nndist z w / (‖z‖₊ * ‖w‖₊) := by rw [← NNReal.coe_inj];
+  simp [-NNReal.coe_inj, dist_inv_inv₀ hz hw]
 #align nndist_inv_inv₀ nndist_inv_inv₀
 -/
 
Diff
@@ -787,19 +787,17 @@ instance (priority := 100) NormedDivisionRing.to_topologicalDivisionRing : Topol
 #align normed_division_ring.to_topological_division_ring NormedDivisionRing.to_topologicalDivisionRing
 -/
 
-#print norm_map_one_of_pow_eq_one /-
 theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ (k : ℕ) = 1) :
     ‖φ x‖ = 1 :=
   by
   rw [← pow_left_inj, ← norm_pow, ← map_pow, h, map_one, norm_one, one_pow]
   exacts [norm_nonneg _, zero_le_one, k.pos]
 #align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_one
--/
 
-#print norm_one_of_pow_eq_one /-
-theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖x‖ = 1 :=
+#print IsOfFinOrder.norm_eq_one /-
+theorem IsOfFinOrder.norm_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖x‖ = 1 :=
   norm_map_one_of_pow_eq_one (MonoidHom.id α) h
-#align norm_one_of_pow_eq_one norm_one_of_pow_eq_one
+#align norm_one_of_pow_eq_one IsOfFinOrder.norm_eq_one
 -/
 
 end NormedDivisionRing
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2018 Patrick Massot. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Johannes Hölzl
 -/
-import Mathbin.Algebra.Algebra.Subalgebra.Basic
-import Mathbin.Analysis.Normed.Group.Basic
-import Mathbin.Topology.Instances.Ennreal
+import Algebra.Algebra.Subalgebra.Basic
+import Analysis.Normed.Group.Basic
+import Topology.Instances.Ennreal
 
 #align_import analysis.normed.field.basic from "leanprover-community/mathlib"@"10bf4f825ad729c5653adc039dafa3622e7f93c9"
 
Diff
@@ -574,7 +574,7 @@ end NormedRing
 instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing α] :
     ContinuousMul α :=
   ⟨continuous_iff_continuousAt.2 fun x =>
-      tendsto_iff_norm_tendsto_zero.2 <|
+      tendsto_iff_norm_sub_tendsto_zero.2 <|
         by
         have : ∀ e : α × α, ‖e.1 * e.2 - x.1 * x.2‖ ≤ ‖e.1‖ * ‖e.2 - x.2‖ + ‖e.1 - x.1‖ * ‖x.2‖ :=
           by
@@ -759,7 +759,7 @@ theorem Filter.tendsto_mul_right_cobounded {a : α} (ha : a ≠ 0) :
 -- see Note [lower instance priority]
 instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContinuousInv₀ α :=
   by
-  refine' ⟨fun r r0 => tendsto_iff_norm_tendsto_zero.2 _⟩
+  refine' ⟨fun r r0 => tendsto_iff_norm_sub_tendsto_zero.2 _⟩
   have r0' : 0 < ‖r‖ := norm_pos_iff.2 r0
   rcases exists_between r0' with ⟨ε, ε0, εr⟩
   have : ∀ᶠ e in 𝓝 r, ‖e⁻¹ - r⁻¹‖ ≤ ‖r - e‖ / ‖r‖ / ε :=
Diff
@@ -32,7 +32,7 @@ endowed with a seminorm which satisfies the inequality `‖x y‖ ≤ ‖x‖ 
 class NonUnitalSeminormedRing (α : Type _) extends Norm α, NonUnitalRing α,
     PseudoMetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
-  norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
+  norm_hMul : ∀ a b, norm (a * b) ≤ norm a * norm b
 #align non_unital_semi_normed_ring NonUnitalSeminormedRing
 -/
 
@@ -41,7 +41,7 @@ class NonUnitalSeminormedRing (α : Type _) extends Norm α, NonUnitalRing α,
 `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
 class SeminormedRing (α : Type _) extends Norm α, Ring α, PseudoMetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
-  norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
+  norm_hMul : ∀ a b, norm (a * b) ≤ norm a * norm b
 #align semi_normed_ring SeminormedRing
 -/
 
@@ -59,7 +59,7 @@ instance (priority := 100) SeminormedRing.toNonUnitalSeminormedRing [β : Semino
 endowed with a norm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
 class NonUnitalNormedRing (α : Type _) extends Norm α, NonUnitalRing α, MetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
-  norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
+  norm_hMul : ∀ a b, norm (a * b) ≤ norm a * norm b
 #align non_unital_normed_ring NonUnitalNormedRing
 -/
 
@@ -76,7 +76,7 @@ instance (priority := 100) NonUnitalNormedRing.toNonUnitalSeminormedRing
 /-- A normed ring is a ring endowed with a norm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
 class NormedRing (α : Type _) extends Norm α, Ring α, MetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
-  norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
+  norm_hMul : ∀ a b, norm (a * b) ≤ norm a * norm b
 #align normed_ring NormedRing
 -/
 
@@ -94,7 +94,7 @@ class NormedDivisionRing (α : Type _) extends Norm α, DivisionRing α, MetricS
 /-- A normed division ring is a normed ring. -/
 instance (priority := 100) NormedDivisionRing.toNormedRing [β : NormedDivisionRing α] :
     NormedRing α :=
-  { β with norm_mul := fun a b => (NormedDivisionRing.norm_mul' a b).le }
+  { β with norm_hMul := fun a b => (NormedDivisionRing.norm_mul' a b).le }
 #align normed_division_ring.to_normed_ring NormedDivisionRing.toNormedRing
 -/
 
@@ -141,7 +141,7 @@ instance (priority := 100) NormedCommRing.toSeminormedCommRing [β : NormedCommR
 -/
 
 instance : NormedCommRing PUnit :=
-  { PUnit.normedAddCommGroup, PUnit.commRing with norm_mul := fun _ _ => by simp }
+  { PUnit.normedAddCommGroup, PUnit.commRing with norm_hMul := fun _ _ => by simp }
 
 #print NormOneClass /-
 /-- A mixin class with the axiom `‖1‖ = 1`. Many `normed_ring`s and all `normed_field`s satisfy this
@@ -223,7 +223,7 @@ variable [NonUnitalSeminormedRing α]
 
 #print norm_mul_le /-
 theorem norm_mul_le (a b : α) : ‖a * b‖ ≤ ‖a‖ * ‖b‖ :=
-  NonUnitalSeminormedRing.norm_mul _ _
+  NonUnitalSeminormedRing.norm_hMul _ _
 #align norm_mul_le norm_mul_le
 -/
 
@@ -279,7 +279,7 @@ theorem mulRight_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulRight x y‖ 
 -/
 
 instance : NonUnitalSeminormedRing (ULift α) :=
-  { ULift.seminormedAddCommGroup with norm_mul := fun x y => (norm_mul_le x.down y.down : _) }
+  { ULift.seminormedAddCommGroup with norm_hMul := fun x y => (norm_mul_le x.down y.down : _) }
 
 #print Prod.nonUnitalSeminormedRing /-
 /-- Non-unital seminormed ring structure on the product of two non-unital seminormed rings,
@@ -287,7 +287,7 @@ instance : NonUnitalSeminormedRing (ULift α) :=
 instance Prod.nonUnitalSeminormedRing [NonUnitalSeminormedRing β] :
     NonUnitalSeminormedRing (α × β) :=
   { Prod.seminormedAddCommGroup with
-    norm_mul := fun x y =>
+    norm_hMul := fun x y =>
       calc
         ‖x * y‖ = ‖(x.1 * y.1, x.2 * y.2)‖ := rfl
         _ = max ‖x.1 * y.1‖ ‖x.2 * y.2‖ := rfl
@@ -307,7 +307,7 @@ rings, using the sup norm. -/
 instance Pi.nonUnitalSeminormedRing {π : ι → Type _} [Fintype ι]
     [∀ i, NonUnitalSeminormedRing (π i)] : NonUnitalSeminormedRing (∀ i, π i) :=
   { Pi.seminormedAddCommGroup with
-    norm_mul := fun x y =>
+    norm_hMul := fun x y =>
       NNReal.coe_mono <|
         calc
           (Finset.univ.sup fun i => ‖x i * y i‖₊) ≤
@@ -321,7 +321,7 @@ instance Pi.nonUnitalSeminormedRing {π : ι → Type _} [Fintype ι]
 #print MulOpposite.nonUnitalSeminormedRing /-
 instance MulOpposite.nonUnitalSeminormedRing : NonUnitalSeminormedRing αᵐᵒᵖ :=
   { MulOpposite.seminormedAddCommGroup with
-    norm_mul :=
+    norm_hMul :=
       MulOpposite.rec' fun x =>
         MulOpposite.rec' fun y => (norm_mul_le y x).trans_eq (mul_comm _ _) }
 #align mul_opposite.non_unital_semi_normed_ring MulOpposite.nonUnitalSeminormedRing
@@ -339,7 +339,7 @@ variable [SeminormedRing α]
 See note [implicit instance arguments]. -/
 instance Subalgebra.seminormedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type _} [SeminormedRing E]
     {_ : Algebra 𝕜 E} (s : Subalgebra 𝕜 E) : SeminormedRing s :=
-  { s.toSubmodule.SeminormedAddCommGroup with norm_mul := fun a b => norm_mul_le a.1 b.1 }
+  { s.toSubmodule.SeminormedAddCommGroup with norm_hMul := fun a b => norm_mul_le a.1 b.1 }
 #align subalgebra.semi_normed_ring Subalgebra.seminormedRing
 -/
 
@@ -506,7 +506,7 @@ instance : NonUnitalNormedRing (ULift α) :=
 /-- Non-unital normed ring structure on the product of two non-unital normed rings,
 using the sup norm. -/
 instance Prod.nonUnitalNormedRing [NonUnitalNormedRing β] : NonUnitalNormedRing (α × β) :=
-  { Prod.seminormedAddCommGroup with norm_mul := norm_mul_le }
+  { Prod.seminormedAddCommGroup with norm_hMul := norm_mul_le }
 #align prod.non_unital_normed_ring Prod.nonUnitalNormedRing
 -/
 
@@ -515,13 +515,13 @@ instance Prod.nonUnitalNormedRing [NonUnitalNormedRing β] : NonUnitalNormedRing
 norm. -/
 instance Pi.nonUnitalNormedRing {π : ι → Type _} [Fintype ι] [∀ i, NonUnitalNormedRing (π i)] :
     NonUnitalNormedRing (∀ i, π i) :=
-  { Pi.normedAddCommGroup with norm_mul := norm_mul_le }
+  { Pi.normedAddCommGroup with norm_hMul := norm_mul_le }
 #align pi.non_unital_normed_ring Pi.nonUnitalNormedRing
 -/
 
 #print MulOpposite.nonUnitalNormedRing /-
 instance MulOpposite.nonUnitalNormedRing : NonUnitalNormedRing αᵐᵒᵖ :=
-  { MulOpposite.normedAddCommGroup with norm_mul := norm_mul_le }
+  { MulOpposite.normedAddCommGroup with norm_hMul := norm_mul_le }
 #align mul_opposite.non_unital_normed_ring MulOpposite.nonUnitalNormedRing
 -/
 
@@ -549,7 +549,7 @@ instance : NormedRing (ULift α) :=
 #print Prod.normedRing /-
 /-- Normed ring structure on the product of two normed rings, using the sup norm. -/
 instance Prod.normedRing [NormedRing β] : NormedRing (α × β) :=
-  { Prod.normedAddCommGroup with norm_mul := norm_mul_le }
+  { Prod.normedAddCommGroup with norm_hMul := norm_mul_le }
 #align prod.normed_ring Prod.normedRing
 -/
 
@@ -557,13 +557,13 @@ instance Prod.normedRing [NormedRing β] : NormedRing (α × β) :=
 /-- Normed ring structure on the product of finitely many normed rings, using the sup norm. -/
 instance Pi.normedRing {π : ι → Type _} [Fintype ι] [∀ i, NormedRing (π i)] :
     NormedRing (∀ i, π i) :=
-  { Pi.normedAddCommGroup with norm_mul := norm_mul_le }
+  { Pi.normedAddCommGroup with norm_hMul := norm_mul_le }
 #align pi.normed_ring Pi.normedRing
 -/
 
 #print MulOpposite.normedRing /-
 instance MulOpposite.normedRing : NormedRing αᵐᵒᵖ :=
-  { MulOpposite.normedAddCommGroup with norm_mul := norm_mul_le }
+  { MulOpposite.normedAddCommGroup with norm_hMul := norm_mul_le }
 #align mul_opposite.normed_ring MulOpposite.normedRing
 -/
 
@@ -855,7 +855,7 @@ instance (priority := 100) NormedField.toNormedDivisionRing : NormedDivisionRing
 #print NormedField.toNormedCommRing /-
 -- see Note [lower instance priority]
 instance (priority := 100) NormedField.toNormedCommRing : NormedCommRing α :=
-  { ‹NormedField α› with norm_mul := fun a b => (norm_mul a b).le }
+  { ‹NormedField α› with norm_hMul := fun a b => (norm_mul a b).le }
 #align normed_field.to_normed_comm_ring NormedField.toNormedCommRing
 -/
 
@@ -980,7 +980,7 @@ end Densely
 end NormedField
 
 instance : NormedCommRing ℝ :=
-  { Real.normedAddCommGroup, Real.commRing with norm_mul := fun x y => (abs_mul x y).le }
+  { Real.normedAddCommGroup, Real.commRing with norm_hMul := fun x y => (abs_mul x y).le }
 
 noncomputable instance : NormedField ℝ :=
   { Real.normedAddCommGroup with norm_mul' := abs_mul }
@@ -1062,7 +1062,7 @@ theorem NormedAddCommGroup.tendsto_atTop' [Nonempty α] [SemilatticeSup α] [NoM
 instance : NormedCommRing ℤ :=
   {
     Int.normedAddCommGroup with
-    norm_mul := fun m n => le_of_eq <| by simp only [norm, Int.cast_mul, abs_mul]
+    norm_hMul := fun m n => le_of_eq <| by simp only [norm, Int.cast_mul, abs_mul]
     mul_comm := mul_comm }
 
 instance : NormOneClass ℤ :=
@@ -1117,7 +1117,7 @@ See note [reducible non-instances] -/
 def NonUnitalSeminormedRing.induced [NonUnitalRing R] [NonUnitalSeminormedRing S]
     [NonUnitalRingHomClass F R S] (f : F) : NonUnitalSeminormedRing R :=
   { SeminormedAddCommGroup.induced R S f with
-    norm_mul := fun x y => by unfold norm; exact (map_mul f x y).symm ▸ norm_mul_le (f x) (f y) }
+    norm_hMul := fun x y => by unfold norm; exact (map_mul f x y).symm ▸ norm_mul_le (f x) (f y) }
 #align non_unital_semi_normed_ring.induced NonUnitalSeminormedRing.induced
 -/
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2018 Patrick Massot. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Johannes Hölzl
-
-! This file was ported from Lean 3 source module analysis.normed.field.basic
-! leanprover-community/mathlib commit 10bf4f825ad729c5653adc039dafa3622e7f93c9
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Algebra.Subalgebra.Basic
 import Mathbin.Analysis.Normed.Group.Basic
 import Mathbin.Topology.Instances.Ennreal
 
+#align_import analysis.normed.field.basic from "leanprover-community/mathlib"@"10bf4f825ad729c5653adc039dafa3622e7f93c9"
+
 /-!
 # Normed fields
 
Diff
@@ -198,10 +198,12 @@ instance (priority := 100) NonUnitalSeminormedRing.toSeminormedAddCommGroup
 instance [SeminormedAddCommGroup α] [One α] [NormOneClass α] : NormOneClass (ULift α) :=
   ⟨by simp [ULift.norm_def]⟩
 
+#print Prod.normOneClass /-
 instance Prod.normOneClass [SeminormedAddCommGroup α] [One α] [NormOneClass α]
     [SeminormedAddCommGroup β] [One β] [NormOneClass β] : NormOneClass (α × β) :=
   ⟨by simp [Prod.norm_def]⟩
 #align prod.norm_one_class Prod.normOneClass
+-/
 
 #print Pi.normOneClass /-
 instance Pi.normOneClass {ι : Type _} {α : ι → Type _} [Nonempty ι] [Fintype ι]
@@ -222,46 +224,62 @@ section NonUnitalSeminormedRing
 
 variable [NonUnitalSeminormedRing α]
 
+#print norm_mul_le /-
 theorem norm_mul_le (a b : α) : ‖a * b‖ ≤ ‖a‖ * ‖b‖ :=
   NonUnitalSeminormedRing.norm_mul _ _
 #align norm_mul_le norm_mul_le
+-/
 
+#print nnnorm_mul_le /-
 theorem nnnorm_mul_le (a b : α) : ‖a * b‖₊ ≤ ‖a‖₊ * ‖b‖₊ := by
   simpa only [← norm_toNNReal, ← Real.toNNReal_mul (norm_nonneg _)] using
     Real.toNNReal_mono (norm_mul_le _ _)
 #align nnnorm_mul_le nnnorm_mul_le
+-/
 
+#print one_le_norm_one /-
 theorem one_le_norm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)‖ :=
   (le_mul_iff_one_le_left <| norm_pos_iff.mpr (one_ne_zero : (1 : β) ≠ 0)).mp
     (by simpa only [mul_one] using norm_mul_le (1 : β) 1)
 #align one_le_norm_one one_le_norm_one
+-/
 
+#print one_le_nnnorm_one /-
 theorem one_le_nnnorm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)‖₊ :=
   one_le_norm_one β
 #align one_le_nnnorm_one one_le_nnnorm_one
+-/
 
+#print Filter.Tendsto.zero_mul_isBoundedUnder_le /-
 theorem Filter.Tendsto.zero_mul_isBoundedUnder_le {f g : ι → α} {l : Filter ι}
     (hf : Tendsto f l (𝓝 0)) (hg : IsBoundedUnder (· ≤ ·) l (norm ∘ g)) :
     Tendsto (fun x => f x * g x) l (𝓝 0) :=
   hf.op_zero_isBoundedUnder_le hg (· * ·) norm_mul_le
 #align filter.tendsto.zero_mul_is_bounded_under_le Filter.Tendsto.zero_mul_isBoundedUnder_le
+-/
 
+#print Filter.isBoundedUnder_le_mul_tendsto_zero /-
 theorem Filter.isBoundedUnder_le_mul_tendsto_zero {f g : ι → α} {l : Filter ι}
     (hf : IsBoundedUnder (· ≤ ·) l (norm ∘ f)) (hg : Tendsto g l (𝓝 0)) :
     Tendsto (fun x => f x * g x) l (𝓝 0) :=
   hg.op_zero_isBoundedUnder_le hf (flip (· * ·)) fun x y =>
     (norm_mul_le y x).trans_eq (mul_comm _ _)
 #align filter.is_bounded_under_le.mul_tendsto_zero Filter.isBoundedUnder_le_mul_tendsto_zero
+-/
 
+#print mulLeft_bound /-
 /-- In a seminormed ring, the left-multiplication `add_monoid_hom` is bounded. -/
 theorem mulLeft_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulLeft x y‖ ≤ ‖x‖ * ‖y‖ :=
   norm_mul_le x
 #align mul_left_bound mulLeft_bound
+-/
 
+#print mulRight_bound /-
 /-- In a seminormed ring, the right-multiplication `add_monoid_hom` is bounded. -/
 theorem mulRight_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulRight x y‖ ≤ ‖x‖ * ‖y‖ := fun y => by
   rw [mul_comm]; convert norm_mul_le y x
 #align mul_right_bound mulRight_bound
+-/
 
 instance : NonUnitalSeminormedRing (ULift α) :=
   { ULift.seminormedAddCommGroup with norm_mul := fun x y => (norm_mul_le x.down y.down : _) }
@@ -318,6 +336,7 @@ section SeminormedRing
 
 variable [SeminormedRing α]
 
+#print Subalgebra.seminormedRing /-
 /-- A subalgebra of a seminormed ring is also a seminormed ring, with the restriction of the norm.
 
 See note [implicit instance arguments]. -/
@@ -325,7 +344,9 @@ instance Subalgebra.seminormedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type
     {_ : Algebra 𝕜 E} (s : Subalgebra 𝕜 E) : SeminormedRing s :=
   { s.toSubmodule.SeminormedAddCommGroup with norm_mul := fun a b => norm_mul_le a.1 b.1 }
 #align subalgebra.semi_normed_ring Subalgebra.seminormedRing
+-/
 
+#print Subalgebra.normedRing /-
 /-- A subalgebra of a normed ring is also a normed ring, with the restriction of the norm.
 
 See note [implicit instance arguments]. -/
@@ -333,16 +354,20 @@ instance Subalgebra.normedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type _}
     {_ : Algebra 𝕜 E} (s : Subalgebra 𝕜 E) : NormedRing s :=
   { s.SeminormedRing with }
 #align subalgebra.normed_ring Subalgebra.normedRing
+-/
 
+#print Nat.norm_cast_le /-
 theorem Nat.norm_cast_le : ∀ n : ℕ, ‖(n : α)‖ ≤ n * ‖(1 : α)‖
   | 0 => by simp
   | n + 1 => by
     rw [n.cast_succ, n.cast_succ, add_mul, one_mul]
     exact norm_add_le_of_le (Nat.norm_cast_le n) le_rfl
 #align nat.norm_cast_le Nat.norm_cast_le
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print List.norm_prod_le' /-
 theorem List.norm_prod_le' : ∀ {l : List α}, l ≠ [] → ‖l.Prod‖ ≤ (l.map norm).Prod
   | [], h => (h rfl).elim
   | [a], _ => by simp
@@ -351,21 +376,29 @@ theorem List.norm_prod_le' : ∀ {l : List α}, l ≠ [] → ‖l.Prod‖ ≤ (l
     refine' le_trans (norm_mul_le _ _) (mul_le_mul_of_nonneg_left _ (norm_nonneg _))
     exact List.norm_prod_le' (List.cons_ne_nil b l)
 #align list.norm_prod_le' List.norm_prod_le'
+-/
 
+#print List.nnnorm_prod_le' /-
 theorem List.nnnorm_prod_le' {l : List α} (hl : l ≠ []) : ‖l.Prod‖₊ ≤ (l.map nnnorm).Prod :=
   (List.norm_prod_le' hl).trans_eq <| by simp [NNReal.coe_list_prod, List.map_map]
 #align list.nnnorm_prod_le' List.nnnorm_prod_le'
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
+#print List.norm_prod_le /-
 theorem List.norm_prod_le [NormOneClass α] : ∀ l : List α, ‖l.Prod‖ ≤ (l.map norm).Prod
   | [] => by simp
   | a::l => List.norm_prod_le' (List.cons_ne_nil a l)
 #align list.norm_prod_le List.norm_prod_le
+-/
 
+#print List.nnnorm_prod_le /-
 theorem List.nnnorm_prod_le [NormOneClass α] (l : List α) : ‖l.Prod‖₊ ≤ (l.map nnnorm).Prod :=
   l.norm_prod_le.trans_eq <| by simp [NNReal.coe_list_prod, List.map_map]
 #align list.nnnorm_prod_le List.nnnorm_prod_le
+-/
 
+#print Finset.norm_prod_le' /-
 theorem Finset.norm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (hs : s.Nonempty)
     (f : ι → α) : ‖∏ i in s, f i‖ ≤ ∏ i in s, ‖f i‖ :=
   by
@@ -373,24 +406,32 @@ theorem Finset.norm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (
   have : l.map f ≠ [] := by simpa using hs
   simpa using List.norm_prod_le' this
 #align finset.norm_prod_le' Finset.norm_prod_le'
+-/
 
+#print Finset.nnnorm_prod_le' /-
 theorem Finset.nnnorm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (hs : s.Nonempty)
     (f : ι → α) : ‖∏ i in s, f i‖₊ ≤ ∏ i in s, ‖f i‖₊ :=
   (s.norm_prod_le' hs f).trans_eq <| by simp [NNReal.coe_prod]
 #align finset.nnnorm_prod_le' Finset.nnnorm_prod_le'
+-/
 
+#print Finset.norm_prod_le /-
 theorem Finset.norm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
     (f : ι → α) : ‖∏ i in s, f i‖ ≤ ∏ i in s, ‖f i‖ :=
   by
   rcases s with ⟨⟨l⟩, hl⟩
   simpa using (l.map f).norm_prod_le
 #align finset.norm_prod_le Finset.norm_prod_le
+-/
 
+#print Finset.nnnorm_prod_le /-
 theorem Finset.nnnorm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
     (f : ι → α) : ‖∏ i in s, f i‖₊ ≤ ∏ i in s, ‖f i‖₊ :=
   (s.norm_prod_le f).trans_eq <| by simp [NNReal.coe_prod]
 #align finset.nnnorm_prod_le Finset.nnnorm_prod_le
+-/
 
+#print nnnorm_pow_le' /-
 /-- If `α` is a seminormed ring, then `‖a ^ n‖₊ ≤ ‖a‖₊ ^ n` for `n > 0`.
 See also `nnnorm_pow_le`. -/
 theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n
@@ -399,26 +440,35 @@ theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ 
     simpa only [pow_succ _ (n + 1)] using
       le_trans (nnnorm_mul_le _ _) (mul_le_mul_left' (nnnorm_pow_le' n.succ_pos) _)
 #align nnnorm_pow_le' nnnorm_pow_le'
+-/
 
+#print nnnorm_pow_le /-
 /-- If `α` is a seminormed ring with `‖1‖₊ = 1`, then `‖a ^ n‖₊ ≤ ‖a‖₊ ^ n`.
 See also `nnnorm_pow_le'`.-/
 theorem nnnorm_pow_le [NormOneClass α] (a : α) (n : ℕ) : ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n :=
   Nat.recOn n (by simp only [pow_zero, nnnorm_one]) fun k hk => nnnorm_pow_le' a k.succ_pos
 #align nnnorm_pow_le nnnorm_pow_le
+-/
 
+#print norm_pow_le' /-
 /-- If `α` is a seminormed ring, then `‖a ^ n‖ ≤ ‖a‖ ^ n` for `n > 0`. See also `norm_pow_le`. -/
 theorem norm_pow_le' (a : α) {n : ℕ} (h : 0 < n) : ‖a ^ n‖ ≤ ‖a‖ ^ n := by
   simpa only [NNReal.coe_pow, coe_nnnorm] using NNReal.coe_mono (nnnorm_pow_le' a h)
 #align norm_pow_le' norm_pow_le'
+-/
 
+#print norm_pow_le /-
 /-- If `α` is a seminormed ring with `‖1‖ = 1`, then `‖a ^ n‖ ≤ ‖a‖ ^ n`. See also `norm_pow_le'`.-/
 theorem norm_pow_le [NormOneClass α] (a : α) (n : ℕ) : ‖a ^ n‖ ≤ ‖a‖ ^ n :=
   Nat.recOn n (by simp only [pow_zero, norm_one]) fun n hn => norm_pow_le' a n.succ_pos
 #align norm_pow_le norm_pow_le
+-/
 
+#print eventually_norm_pow_le /-
 theorem eventually_norm_pow_le (a : α) : ∀ᶠ n : ℕ in atTop, ‖a ^ n‖ ≤ ‖a‖ ^ n :=
   eventually_atTop.mpr ⟨1, fun b h => norm_pow_le' a (Nat.succ_le_iff.mp h)⟩
 #align eventually_norm_pow_le eventually_norm_pow_le
+-/
 
 instance : SeminormedRing (ULift α) :=
   { ULift.nonUnitalSemiNormedRing, ULift.seminormedAddCommGroup with }
@@ -484,13 +534,17 @@ section NormedRing
 
 variable [NormedRing α]
 
+#print Units.norm_pos /-
 theorem Units.norm_pos [Nontrivial α] (x : αˣ) : 0 < ‖(x : α)‖ :=
   norm_pos_iff.mpr (Units.ne_zero x)
 #align units.norm_pos Units.norm_pos
+-/
 
+#print Units.nnnorm_pos /-
 theorem Units.nnnorm_pos [Nontrivial α] (x : αˣ) : 0 < ‖(x : α)‖₊ :=
   x.norm_pos
 #align units.nnnorm_pos Units.nnnorm_pos
+-/
 
 instance : NormedRing (ULift α) :=
   { ULift.semiNormedRing, ULift.normedAddCommGroup with }
@@ -518,6 +572,7 @@ instance MulOpposite.normedRing : NormedRing αᵐᵒᵖ :=
 
 end NormedRing
 
+#print semi_normed_ring_top_monoid /-
 -- see Note [lower instance priority]
 instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing α] :
     ContinuousMul α :=
@@ -540,6 +595,7 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing
         show tendsto _ _ _; exact tendsto_const_nhds
         simp⟩
 #align semi_normed_ring_top_monoid semi_normed_ring_top_monoid
+-/
 
 #print semi_normed_top_ring /-
 -- see Note [lower instance priority]
@@ -553,14 +609,18 @@ section NormedDivisionRing
 
 variable [NormedDivisionRing α]
 
+#print norm_mul /-
 @[simp]
 theorem norm_mul (a b : α) : ‖a * b‖ = ‖a‖ * ‖b‖ :=
   NormedDivisionRing.norm_mul' a b
 #align norm_mul norm_mul
+-/
 
+#print NormedDivisionRing.to_normOneClass /-
 instance (priority := 900) NormedDivisionRing.to_normOneClass : NormOneClass α :=
   ⟨mul_left_cancel₀ (mt norm_eq_zero.1 (one_ne_zero' α)) <| by rw [← norm_mul, mul_one, mul_one]⟩
 #align normed_division_ring.to_norm_one_class NormedDivisionRing.to_normOneClass
+-/
 
 #print isAbsoluteValue_norm /-
 instance isAbsoluteValue_norm : IsAbsoluteValue (norm : α → ℝ)
@@ -572,10 +632,12 @@ instance isAbsoluteValue_norm : IsAbsoluteValue (norm : α → ℝ)
 #align is_absolute_value_norm isAbsoluteValue_norm
 -/
 
+#print nnnorm_mul /-
 @[simp]
 theorem nnnorm_mul (a b : α) : ‖a * b‖₊ = ‖a‖₊ * ‖b‖₊ :=
   NNReal.eq <| norm_mul a b
 #align nnnorm_mul nnnorm_mul
+-/
 
 #print normHom /-
 /-- `norm` as a `monoid_with_zero_hom`. -/
@@ -593,43 +655,59 @@ def nnnormHom : α →*₀ ℝ≥0 :=
 #align nnnorm_hom nnnormHom
 -/
 
+#print norm_pow /-
 @[simp]
 theorem norm_pow (a : α) : ∀ n : ℕ, ‖a ^ n‖ = ‖a‖ ^ n :=
   (normHom.toMonoidHom : α →* ℝ).map_pow a
 #align norm_pow norm_pow
+-/
 
+#print nnnorm_pow /-
 @[simp]
 theorem nnnorm_pow (a : α) (n : ℕ) : ‖a ^ n‖₊ = ‖a‖₊ ^ n :=
   (nnnormHom.toMonoidHom : α →* ℝ≥0).map_pow a n
 #align nnnorm_pow nnnorm_pow
+-/
 
+#print List.norm_prod /-
 protected theorem List.norm_prod (l : List α) : ‖l.Prod‖ = (l.map norm).Prod :=
   (normHom.toMonoidHom : α →* ℝ).map_list_prod _
 #align list.norm_prod List.norm_prod
+-/
 
+#print List.nnnorm_prod /-
 protected theorem List.nnnorm_prod (l : List α) : ‖l.Prod‖₊ = (l.map nnnorm).Prod :=
   (nnnormHom.toMonoidHom : α →* ℝ≥0).map_list_prod _
 #align list.nnnorm_prod List.nnnorm_prod
+-/
 
+#print norm_div /-
 @[simp]
 theorem norm_div (a b : α) : ‖a / b‖ = ‖a‖ / ‖b‖ :=
   map_div₀ (normHom : α →*₀ ℝ) a b
 #align norm_div norm_div
+-/
 
+#print nnnorm_div /-
 @[simp]
 theorem nnnorm_div (a b : α) : ‖a / b‖₊ = ‖a‖₊ / ‖b‖₊ :=
   map_div₀ (nnnormHom : α →*₀ ℝ≥0) a b
 #align nnnorm_div nnnorm_div
+-/
 
+#print norm_inv /-
 @[simp]
 theorem norm_inv (a : α) : ‖a⁻¹‖ = ‖a‖⁻¹ :=
   map_inv₀ (normHom : α →*₀ ℝ) a
 #align norm_inv norm_inv
+-/
 
+#print nnnorm_inv /-
 @[simp]
 theorem nnnorm_inv (a : α) : ‖a⁻¹‖₊ = ‖a‖₊⁻¹ :=
   NNReal.eq <| by simp
 #align nnnorm_inv nnnorm_inv
+-/
 
 #print norm_zpow /-
 @[simp]
@@ -638,22 +716,29 @@ theorem norm_zpow : ∀ (a : α) (n : ℤ), ‖a ^ n‖ = ‖a‖ ^ n :=
 #align norm_zpow norm_zpow
 -/
 
+#print nnnorm_zpow /-
 @[simp]
 theorem nnnorm_zpow : ∀ (a : α) (n : ℤ), ‖a ^ n‖₊ = ‖a‖₊ ^ n :=
   map_zpow₀ (nnnormHom : α →*₀ ℝ≥0)
 #align nnnorm_zpow nnnorm_zpow
+-/
 
+#print dist_inv_inv₀ /-
 theorem dist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) : dist z⁻¹ w⁻¹ = dist z w / (‖z‖ * ‖w‖) :=
   by
   rw [dist_eq_norm, inv_sub_inv' hz hw, norm_mul, norm_mul, norm_inv, norm_inv, mul_comm ‖z‖⁻¹,
     mul_assoc, dist_eq_norm', div_eq_mul_inv, mul_inv]
 #align dist_inv_inv₀ dist_inv_inv₀
+-/
 
+#print nndist_inv_inv₀ /-
 theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
     nndist z⁻¹ w⁻¹ = nndist z w / (‖z‖₊ * ‖w‖₊) := by rw [← NNReal.coe_eq];
   simp [-NNReal.coe_eq, dist_inv_inv₀ hz hw]
 #align nndist_inv_inv₀ nndist_inv_inv₀
+-/
 
+#print Filter.tendsto_mul_left_cobounded /-
 /-- Multiplication on the left by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
 theorem Filter.tendsto_mul_left_cobounded {a : α} (ha : a ≠ 0) :
@@ -661,7 +746,9 @@ theorem Filter.tendsto_mul_left_cobounded {a : α} (ha : a ≠ 0) :
   simpa only [tendsto_comap_iff, (· ∘ ·), norm_mul] using
     tendsto_const_nhds.mul_at_top (norm_pos_iff.2 ha) tendsto_comap
 #align filter.tendsto_mul_left_cobounded Filter.tendsto_mul_left_cobounded
+-/
 
+#print Filter.tendsto_mul_right_cobounded /-
 /-- Multiplication on the right by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
 theorem Filter.tendsto_mul_right_cobounded {a : α} (ha : a ≠ 0) :
@@ -669,7 +756,9 @@ theorem Filter.tendsto_mul_right_cobounded {a : α} (ha : a ≠ 0) :
   simpa only [tendsto_comap_iff, (· ∘ ·), norm_mul] using
     tendsto_comap.at_top_mul (norm_pos_iff.2 ha) tendsto_const_nhds
 #align filter.tendsto_mul_right_cobounded Filter.tendsto_mul_right_cobounded
+-/
 
+#print NormedDivisionRing.to_hasContinuousInv₀ /-
 -- see Note [lower instance priority]
 instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContinuousInv₀ α :=
   by
@@ -691,6 +780,7 @@ instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContin
   refine' (((continuous_const.sub continuous_id).norm.div_const _).div_const _).tendsto' _ _ _
   simp
 #align normed_division_ring.to_has_continuous_inv₀ NormedDivisionRing.to_hasContinuousInv₀
+-/
 
 #print NormedDivisionRing.to_topologicalDivisionRing /-
 -- see Note [lower instance priority]
@@ -700,16 +790,20 @@ instance (priority := 100) NormedDivisionRing.to_topologicalDivisionRing : Topol
 #align normed_division_ring.to_topological_division_ring NormedDivisionRing.to_topologicalDivisionRing
 -/
 
+#print norm_map_one_of_pow_eq_one /-
 theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ (k : ℕ) = 1) :
     ‖φ x‖ = 1 :=
   by
   rw [← pow_left_inj, ← norm_pow, ← map_pow, h, map_one, norm_one, one_pow]
   exacts [norm_nonneg _, zero_le_one, k.pos]
 #align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_one
+-/
 
+#print norm_one_of_pow_eq_one /-
 theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖x‖ = 1 :=
   norm_map_one_of_pow_eq_one (MonoidHom.id α) h
 #align norm_one_of_pow_eq_one norm_one_of_pow_eq_one
+-/
 
 end NormedDivisionRing
 
@@ -775,10 +869,12 @@ theorem norm_prod (s : Finset β) (f : β → α) : ‖∏ b in s, f b‖ = ∏
 #align norm_prod norm_prod
 -/
 
+#print nnnorm_prod /-
 @[simp]
 theorem nnnorm_prod (s : Finset β) (f : β → α) : ‖∏ b in s, f b‖₊ = ∏ b in s, ‖f b‖₊ :=
   (nnnormHom.toMonoidHom : α →* ℝ≥0).map_prod f s
 #align nnnorm_prod nnnorm_prod
+-/
 
 end NormedField
 
@@ -788,27 +884,36 @@ section Nontrivially
 
 variable (α) [NontriviallyNormedField α]
 
+#print NormedField.exists_one_lt_norm /-
 theorem exists_one_lt_norm : ∃ x : α, 1 < ‖x‖ :=
   ‹NontriviallyNormedField α›.non_trivial
 #align normed_field.exists_one_lt_norm NormedField.exists_one_lt_norm
+-/
 
+#print NormedField.exists_lt_norm /-
 theorem exists_lt_norm (r : ℝ) : ∃ x : α, r < ‖x‖ :=
   let ⟨w, hw⟩ := exists_one_lt_norm α
   let ⟨n, hn⟩ := pow_unbounded_of_one_lt r hw
   ⟨w ^ n, by rwa [norm_pow]⟩
 #align normed_field.exists_lt_norm NormedField.exists_lt_norm
+-/
 
+#print NormedField.exists_norm_lt /-
 theorem exists_norm_lt {r : ℝ} (hr : 0 < r) : ∃ x : α, 0 < ‖x‖ ∧ ‖x‖ < r :=
   let ⟨w, hw⟩ := exists_lt_norm α r⁻¹
   ⟨w⁻¹, by rwa [← Set.mem_Ioo, norm_inv, ← Set.mem_inv, Set.inv_Ioo_0_left hr]⟩
 #align normed_field.exists_norm_lt NormedField.exists_norm_lt
+-/
 
+#print NormedField.exists_norm_lt_one /-
 theorem exists_norm_lt_one : ∃ x : α, 0 < ‖x‖ ∧ ‖x‖ < 1 :=
   exists_norm_lt α one_pos
 #align normed_field.exists_norm_lt_one NormedField.exists_norm_lt_one
+-/
 
 variable {α}
 
+#print NormedField.punctured_nhds_neBot /-
 @[instance]
 theorem punctured_nhds_neBot (x : α) : NeBot (𝓝[≠] x) :=
   by
@@ -818,11 +923,14 @@ theorem punctured_nhds_neBot (x : α) : NeBot (𝓝[≠] x) :=
   refine' ⟨x + b, mt (set.mem_singleton_iff.trans add_right_eq_self).1 <| norm_pos_iff.1 hb0, _⟩
   rwa [dist_comm, dist_eq_norm, add_sub_cancel']
 #align normed_field.punctured_nhds_ne_bot NormedField.punctured_nhds_neBot
+-/
 
+#print NormedField.nhdsWithin_isUnit_neBot /-
 @[instance]
 theorem nhdsWithin_isUnit_neBot : NeBot (𝓝[{x : α | IsUnit x}] 0) := by
   simpa only [isUnit_iff_ne_zero] using punctured_nhds_ne_bot (0 : α)
 #align normed_field.nhds_within_is_unit_ne_bot NormedField.nhdsWithin_isUnit_neBot
+-/
 
 end Nontrivially
 
@@ -830,9 +938,11 @@ section Densely
 
 variable (α) [DenselyNormedField α]
 
+#print NormedField.exists_lt_norm_lt /-
 theorem exists_lt_norm_lt {r₁ r₂ : ℝ} (h₀ : 0 ≤ r₁) (h : r₁ < r₂) : ∃ x : α, r₁ < ‖x‖ ∧ ‖x‖ < r₂ :=
   DenselyNormedField.lt_norm_lt r₁ r₂ h₀ h
 #align normed_field.exists_lt_norm_lt NormedField.exists_lt_norm_lt
+-/
 
 #print NormedField.exists_lt_nnnorm_lt /-
 theorem exists_lt_nnnorm_lt {r₁ r₂ : ℝ≥0} (h : r₁ < r₂) : ∃ x : α, r₁ < ‖x‖₊ ∧ ‖x‖₊ < r₂ := by
@@ -840,6 +950,7 @@ theorem exists_lt_nnnorm_lt {r₁ r₂ : ℝ≥0} (h : r₁ < r₂) : ∃ x : α
 #align normed_field.exists_lt_nnnorm_lt NormedField.exists_lt_nnnorm_lt
 -/
 
+#print NormedField.denselyOrdered_range_norm /-
 instance denselyOrdered_range_norm : DenselyOrdered (Set.range (norm : α → ℝ))
     where dense := by
     rintro ⟨-, x, rfl⟩ ⟨-, y, rfl⟩ hxy
@@ -847,6 +958,7 @@ instance denselyOrdered_range_norm : DenselyOrdered (Set.range (norm : α → 
       let ⟨z, h⟩ := exists_lt_norm_lt α (norm_nonneg _) hxy
       ⟨⟨‖z‖, z, rfl⟩, h⟩
 #align normed_field.densely_ordered_range_norm NormedField.denselyOrdered_range_norm
+-/
 
 #print NormedField.denselyOrdered_range_nnnorm /-
 instance denselyOrdered_range_nnnorm : DenselyOrdered (Set.range (nnnorm : α → ℝ≥0))
@@ -858,11 +970,13 @@ instance denselyOrdered_range_nnnorm : DenselyOrdered (Set.range (nnnorm : α 
 #align normed_field.densely_ordered_range_nnnorm NormedField.denselyOrdered_range_nnnorm
 -/
 
+#print NormedField.denseRange_nnnorm /-
 theorem denseRange_nnnorm : DenseRange (nnnorm : α → ℝ≥0) :=
   dense_of_exists_between fun _ _ hr =>
     let ⟨x, h⟩ := exists_lt_nnnorm_lt α hr
     ⟨‖x‖₊, ⟨x, rfl⟩, h⟩
 #align normed_field.dense_range_nnnorm NormedField.denseRange_nnnorm
+-/
 
 end Densely
 
@@ -881,13 +995,17 @@ noncomputable instance : DenselyNormedField ℝ
 
 namespace Real
 
+#print Real.toNNReal_mul_nnnorm /-
 theorem toNNReal_mul_nnnorm {x : ℝ} (y : ℝ) (hx : 0 ≤ x) : x.toNNReal * ‖y‖₊ = ‖x * y‖₊ := by
   simp [Real.toNNReal_of_nonneg, nnnorm, norm_of_nonneg, hx]
 #align real.to_nnreal_mul_nnnorm Real.toNNReal_mul_nnnorm
+-/
 
+#print Real.nnnorm_mul_toNNReal /-
 theorem nnnorm_mul_toNNReal (x : ℝ) {y : ℝ} (hy : 0 ≤ y) : ‖x‖₊ * y.toNNReal = ‖x * y‖₊ := by
   simp [Real.toNNReal_of_nonneg, nnnorm, norm_of_nonneg, hy]
 #align real.nnnorm_mul_to_nnreal Real.nnnorm_mul_toNNReal
+-/
 
 end Real
 
@@ -895,21 +1013,27 @@ namespace NNReal
 
 open scoped NNReal
 
+#print NNReal.norm_eq /-
 @[simp]
 theorem norm_eq (x : ℝ≥0) : ‖(x : ℝ)‖ = x := by rw [Real.norm_eq_abs, x.abs_eq]
 #align nnreal.norm_eq NNReal.norm_eq
+-/
 
+#print NNReal.nnnorm_eq /-
 @[simp]
 theorem nnnorm_eq (x : ℝ≥0) : ‖(x : ℝ)‖₊ = x :=
   NNReal.eq <| Real.norm_of_nonneg x.2
 #align nnreal.nnnorm_eq NNReal.nnnorm_eq
+-/
 
 end NNReal
 
+#print norm_norm /-
 @[simp]
 theorem norm_norm [SeminormedAddCommGroup α] (x : α) : ‖‖x‖‖ = ‖x‖ :=
   Real.norm_of_nonneg (norm_nonneg _)
 #align norm_norm norm_norm
+-/
 
 #print nnnorm_norm /-
 @[simp]
@@ -918,13 +1042,16 @@ theorem nnnorm_norm [SeminormedAddCommGroup α] (a : α) : ‖‖a‖‖₊ = 
 #align nnnorm_norm nnnorm_norm
 -/
 
+#print NormedAddCommGroup.tendsto_atTop /-
 /-- A restatement of `metric_space.tendsto_at_top` in terms of the norm. -/
 theorem NormedAddCommGroup.tendsto_atTop [Nonempty α] [SemilatticeSup α] {β : Type _}
     [SeminormedAddCommGroup β] {f : α → β} {b : β} :
     Tendsto f atTop (𝓝 b) ↔ ∀ ε, 0 < ε → ∃ N, ∀ n, N ≤ n → ‖f n - b‖ < ε :=
   (atTop_basis.tendsto_iffₓ Metric.nhds_basis_ball).trans (by simp [dist_eq_norm])
 #align normed_add_comm_group.tendsto_at_top NormedAddCommGroup.tendsto_atTop
+-/
 
+#print NormedAddCommGroup.tendsto_atTop' /-
 /-- A variant of `normed_add_comm_group.tendsto_at_top` that
 uses `∃ N, ∀ n > N, ...` rather than `∃ N, ∀ n ≥ N, ...`
 -/
@@ -933,6 +1060,7 @@ theorem NormedAddCommGroup.tendsto_atTop' [Nonempty α] [SemilatticeSup α] [NoM
     Tendsto f atTop (𝓝 b) ↔ ∀ ε, 0 < ε → ∃ N, ∀ n, N < n → ‖f n - b‖ < ε :=
   (atTop_basis_Ioi.tendsto_iffₓ Metric.nhds_basis_ball).trans (by simp [dist_eq_norm])
 #align normed_add_comm_group.tendsto_at_top' NormedAddCommGroup.tendsto_atTop'
+-/
 
 instance : NormedCommRing ℤ :=
   {
@@ -1082,6 +1210,7 @@ def NormedField.induced [Field R] [NormedField S] [NonUnitalRingHomClass F R S]
 #align normed_field.induced NormedField.induced
 -/
 
+#print NormOneClass.induced /-
 /-- A ring homomorphism from a `ring R` to a `semi_normed_ring S` which induces the norm structure
 `semi_normed_ring.induced` makes `R` satisfy `‖(1 : R)‖ = 1` whenever `‖(1 : S)‖ = 1`. -/
 theorem NormOneClass.induced {F : Type _} (R S : Type _) [Ring R] [SeminormedRing S]
@@ -1089,6 +1218,7 @@ theorem NormOneClass.induced {F : Type _} (R S : Type _) [Ring R] [SeminormedRin
     @NormOneClass R (SeminormedRing.induced R S f).toHasNorm _ :=
   { norm_one := (congr_arg norm (map_one f)).trans norm_one }
 #align norm_one_class.induced NormOneClass.induced
+-/
 
 end Induced
 
Diff
@@ -282,8 +282,7 @@ instance Prod.nonUnitalSeminormedRing [NonUnitalSeminormedRing β] :
         _ ≤ max ‖x.1‖ ‖x.2‖ * max ‖y.2‖ ‖y.1‖ := by
           apply max_mul_mul_le_max_mul_max <;> simp [norm_nonneg]
         _ = max ‖x.1‖ ‖x.2‖ * max ‖y.1‖ ‖y.2‖ := by simp [max_comm]
-        _ = ‖x‖ * ‖y‖ := rfl
-         }
+        _ = ‖x‖ * ‖y‖ := rfl }
 #align prod.non_unital_semi_normed_ring Prod.nonUnitalSeminormedRing
 -/
 
@@ -300,8 +299,7 @@ instance Pi.nonUnitalSeminormedRing {π : ι → Type _} [Fintype ι]
               Finset.univ.sup ((fun i => ‖x i‖₊) * fun i => ‖y i‖₊) :=
             Finset.sup_mono_fun fun b hb => norm_mul_le _ _
           _ ≤ (Finset.univ.sup fun i => ‖x i‖₊) * Finset.univ.sup fun i => ‖y i‖₊ :=
-            Finset.sup_mul_le_mul_sup_of_nonneg _ (fun i _ => zero_le _) fun i _ => zero_le _
-           }
+            Finset.sup_mul_le_mul_sup_of_nonneg _ (fun i _ => zero_le _) fun i _ => zero_le _ }
 #align pi.non_unital_semi_normed_ring Pi.nonUnitalSeminormedRing
 -/
 
@@ -534,7 +532,6 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing
               rw [mul_sub, sub_mul, sub_add_sub_cancel]
             _ ≤ ‖e.1‖ * ‖e.2 - x.2‖ + ‖e.1 - x.1‖ * ‖x.2‖ :=
               norm_add_le_of_le (norm_mul_le _ _) (norm_mul_le _ _)
-            
         refine' squeeze_zero (fun e => norm_nonneg _) this _
         convert
           ((continuous_fst.tendsto x).norm.mul
@@ -690,7 +687,6 @@ instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContin
       _ = ‖r - e‖ / ‖r‖ / ‖e‖ := by field_simp [mul_comm]
       _ ≤ ‖r - e‖ / ‖r‖ / ε :=
         div_le_div_of_le_left (div_nonneg (norm_nonneg _) (norm_nonneg _)) ε0 he.le
-      
   refine' squeeze_zero' (eventually_of_forall fun _ => norm_nonneg _) this _
   refine' (((continuous_const.sub continuous_id).norm.div_const _).div_const _).tendsto' _ _ _
   simp
Diff
@@ -536,7 +536,8 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing
               norm_add_le_of_le (norm_mul_le _ _) (norm_mul_le _ _)
             
         refine' squeeze_zero (fun e => norm_nonneg _) this _
-        convert((continuous_fst.tendsto x).norm.mul
+        convert
+          ((continuous_fst.tendsto x).norm.mul
                 ((continuous_snd.tendsto x).sub tendsto_const_nhds).norm).add
             (((continuous_fst.tendsto x).sub tendsto_const_nhds).norm.mul _)
         show tendsto _ _ _; exact tendsto_const_nhds
@@ -680,7 +681,7 @@ instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContin
   rcases exists_between r0' with ⟨ε, ε0, εr⟩
   have : ∀ᶠ e in 𝓝 r, ‖e⁻¹ - r⁻¹‖ ≤ ‖r - e‖ / ‖r‖ / ε :=
     by
-    filter_upwards [(isOpen_lt continuous_const continuous_norm).eventually_mem εr]with e he
+    filter_upwards [(isOpen_lt continuous_const continuous_norm).eventually_mem εr] with e he
     have e0 : e ≠ 0 := norm_pos_iff.1 (ε0.trans he)
     calc
       ‖e⁻¹ - r⁻¹‖ = ‖r‖⁻¹ * ‖r - e‖ * ‖e‖⁻¹ := by
@@ -823,7 +824,7 @@ theorem punctured_nhds_neBot (x : α) : NeBot (𝓝[≠] x) :=
 #align normed_field.punctured_nhds_ne_bot NormedField.punctured_nhds_neBot
 
 @[instance]
-theorem nhdsWithin_isUnit_neBot : NeBot (𝓝[{ x : α | IsUnit x }] 0) := by
+theorem nhdsWithin_isUnit_neBot : NeBot (𝓝[{x : α | IsUnit x}] 0) := by
   simpa only [isUnit_iff_ne_zero] using punctured_nhds_ne_bot (0 : α)
 #align normed_field.nhds_within_is_unit_ne_bot NormedField.nhdsWithin_isUnit_neBot
 
Diff
@@ -33,7 +33,7 @@ open scoped Topology BigOperators NNReal ENNReal uniformity Pointwise
 /-- A non-unital seminormed ring is a not-necessarily-unital ring
 endowed with a seminorm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
 class NonUnitalSeminormedRing (α : Type _) extends Norm α, NonUnitalRing α,
-  PseudoMetricSpace α where
+    PseudoMetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
 #align non_unital_semi_normed_ring NonUnitalSeminormedRing
@@ -707,7 +707,7 @@ theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : 
     ‖φ x‖ = 1 :=
   by
   rw [← pow_left_inj, ← norm_pow, ← map_pow, h, map_one, norm_one, one_pow]
-  exacts[norm_nonneg _, zero_le_one, k.pos]
+  exacts [norm_nonneg _, zero_le_one, k.pos]
 #align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_one
 
 theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖x‖ = 1 :=
Diff
@@ -27,7 +27,7 @@ variable {α : Type _} {β : Type _} {γ : Type _} {ι : Type _}
 
 open Filter Metric
 
-open Topology BigOperators NNReal ENNReal uniformity Pointwise
+open scoped Topology BigOperators NNReal ENNReal uniformity Pointwise
 
 #print NonUnitalSeminormedRing /-
 /-- A non-unital seminormed ring is a not-necessarily-unital ring
@@ -837,9 +837,11 @@ theorem exists_lt_norm_lt {r₁ r₂ : ℝ} (h₀ : 0 ≤ r₁) (h : r₁ < r₂
   DenselyNormedField.lt_norm_lt r₁ r₂ h₀ h
 #align normed_field.exists_lt_norm_lt NormedField.exists_lt_norm_lt
 
+#print NormedField.exists_lt_nnnorm_lt /-
 theorem exists_lt_nnnorm_lt {r₁ r₂ : ℝ≥0} (h : r₁ < r₂) : ∃ x : α, r₁ < ‖x‖₊ ∧ ‖x‖₊ < r₂ := by
   exact_mod_cast exists_lt_norm_lt α r₁.prop h
 #align normed_field.exists_lt_nnnorm_lt NormedField.exists_lt_nnnorm_lt
+-/
 
 instance denselyOrdered_range_norm : DenselyOrdered (Set.range (norm : α → ℝ))
     where dense := by
@@ -849,6 +851,7 @@ instance denselyOrdered_range_norm : DenselyOrdered (Set.range (norm : α → 
       ⟨⟨‖z‖, z, rfl⟩, h⟩
 #align normed_field.densely_ordered_range_norm NormedField.denselyOrdered_range_norm
 
+#print NormedField.denselyOrdered_range_nnnorm /-
 instance denselyOrdered_range_nnnorm : DenselyOrdered (Set.range (nnnorm : α → ℝ≥0))
     where dense := by
     rintro ⟨-, x, rfl⟩ ⟨-, y, rfl⟩ hxy
@@ -856,6 +859,7 @@ instance denselyOrdered_range_nnnorm : DenselyOrdered (Set.range (nnnorm : α 
       let ⟨z, h⟩ := exists_lt_nnnorm_lt α hxy
       ⟨⟨‖z‖₊, z, rfl⟩, h⟩
 #align normed_field.densely_ordered_range_nnnorm NormedField.denselyOrdered_range_nnnorm
+-/
 
 theorem denseRange_nnnorm : DenseRange (nnnorm : α → ℝ≥0) :=
   dense_of_exists_between fun _ _ hr =>
@@ -892,7 +896,7 @@ end Real
 
 namespace NNReal
 
-open NNReal
+open scoped NNReal
 
 @[simp]
 theorem norm_eq (x : ℝ≥0) : ‖(x : ℝ)‖ = x := by rw [Real.norm_eq_abs, x.abs_eq]
Diff
@@ -198,12 +198,6 @@ instance (priority := 100) NonUnitalSeminormedRing.toSeminormedAddCommGroup
 instance [SeminormedAddCommGroup α] [One α] [NormOneClass α] : NormOneClass (ULift α) :=
   ⟨by simp [ULift.norm_def]⟩
 
-/- warning: prod.norm_one_class -> Prod.normOneClass is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SeminormedAddCommGroup.{u1} α] [_inst_2 : One.{u1} α] [_inst_3 : NormOneClass.{u1} α (SeminormedAddCommGroup.toHasNorm.{u1} α _inst_1) _inst_2] [_inst_4 : SeminormedAddCommGroup.{u2} β] [_inst_5 : One.{u2} β] [_inst_6 : NormOneClass.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_4) _inst_5], NormOneClass.{max u1 u2} (Prod.{u1, u2} α β) (Prod.hasNorm.{u1, u2} α β (SeminormedAddCommGroup.toHasNorm.{u1} α _inst_1) (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_4)) (Prod.hasOne.{u1, u2} α β _inst_2 _inst_5)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SeminormedAddCommGroup.{u1} α] [_inst_2 : One.{u1} α] [_inst_3 : NormOneClass.{u1} α (SeminormedAddCommGroup.toNorm.{u1} α _inst_1) _inst_2] [_inst_4 : SeminormedAddCommGroup.{u2} β] [_inst_5 : One.{u2} β] [_inst_6 : NormOneClass.{u2} β (SeminormedAddCommGroup.toNorm.{u2} β _inst_4) _inst_5], NormOneClass.{max u2 u1} (Prod.{u1, u2} α β) (Prod.toNorm.{u1, u2} α β (SeminormedAddCommGroup.toNorm.{u1} α _inst_1) (SeminormedAddCommGroup.toNorm.{u2} β _inst_4)) (Prod.instOneProd.{u1, u2} α β _inst_2 _inst_5)
-Case conversion may be inaccurate. Consider using '#align prod.norm_one_class Prod.normOneClassₓ'. -/
 instance Prod.normOneClass [SeminormedAddCommGroup α] [One α] [NormOneClass α]
     [SeminormedAddCommGroup β] [One β] [NormOneClass β] : NormOneClass (α × β) :=
   ⟨by simp [Prod.norm_def]⟩
@@ -228,66 +222,30 @@ section NonUnitalSeminormedRing
 
 variable [NonUnitalSeminormedRing α]
 
-/- warning: norm_mul_le -> norm_mul_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (a : α) (b : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) a b)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) b))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (a : α) (b : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))) a b)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) b))
-Case conversion may be inaccurate. Consider using '#align norm_mul_le norm_mul_leₓ'. -/
 theorem norm_mul_le (a b : α) : ‖a * b‖ ≤ ‖a‖ * ‖b‖ :=
   NonUnitalSeminormedRing.norm_mul _ _
 #align norm_mul_le norm_mul_le
 
-/- warning: nnnorm_mul_le -> nnnorm_mul_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (a : α) (b : α), LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) a 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))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) b))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (a : α) (b : α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))) a b)) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) b))
-Case conversion may be inaccurate. Consider using '#align nnnorm_mul_le nnnorm_mul_leₓ'. -/
 theorem nnnorm_mul_le (a b : α) : ‖a * b‖₊ ≤ ‖a‖₊ * ‖b‖₊ := by
   simpa only [← norm_toNNReal, ← Real.toNNReal_mul (norm_nonneg _)] using
     Real.toNNReal_mono (norm_mul_le _ _)
 #align nnnorm_mul_le nnnorm_mul_le
 
-/- warning: one_le_norm_one -> one_le_norm_one is a dubious translation:
-lean 3 declaration is
-  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Norm.norm.{u1} β (NormedRing.toHasNorm.{u1} β _inst_2) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (AddCommGroupWithOne.toAddGroupWithOne.{u1} β (Ring.toAddCommGroupWithOne.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
-but is expected to have type
-  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} β (NormedRing.toNorm.{u1} β _inst_2) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (Semiring.toOne.{u1} β (Ring.toSemiring.{u1} β (NormedRing.toRing.{u1} β _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align one_le_norm_one one_le_norm_oneₓ'. -/
 theorem one_le_norm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)‖ :=
   (le_mul_iff_one_le_left <| norm_pos_iff.mpr (one_ne_zero : (1 : β) ≠ 0)).mp
     (by simpa only [mul_one] using norm_mul_le (1 : β) 1)
 #align one_le_norm_one one_le_norm_one
 
-/- warning: one_le_nnnorm_one -> one_le_nnnorm_one is a dubious translation:
-lean 3 declaration is
-  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (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))))))) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (AddCommGroupWithOne.toAddGroupWithOne.{u1} β (Ring.toAddCommGroupWithOne.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
-but is expected to have type
-  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} NNReal 1 (One.toOfNat1.{0} NNReal instNNRealOne)) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (Semiring.toOne.{u1} β (Ring.toSemiring.{u1} β (NormedRing.toRing.{u1} β _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align one_le_nnnorm_one one_le_nnnorm_oneₓ'. -/
 theorem one_le_nnnorm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)‖₊ :=
   one_le_norm_one β
 #align one_le_nnnorm_one one_le_nnnorm_one
 
-/- warning: filter.tendsto.zero_mul_is_bounded_under_le -> Filter.Tendsto.zero_mul_isBoundedUnder_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] {f : ι -> α} {g : ι -> α} {l : Filter.{u2} ι}, (Filter.Tendsto.{u2, u1} ι α f l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))))))) -> (Filter.IsBoundedUnder.{0, u2} Real ι (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u2, succ u1, 1} ι α Real (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1)) g)) -> (Filter.Tendsto.{u2, u1} ι α (fun (x : ι) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (f x) (g x)) l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] {f : ι -> α} {g : ι -> α} {l : Filter.{u2} ι}, (Filter.Tendsto.{u2, u1} ι α f l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (SemigroupWithZero.toZero.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalRing.toNonUnitalSemiring.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))))) -> (Filter.IsBoundedUnder.{0, u2} Real ι (fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1131 : Real) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1133 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1131 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1133) l (Function.comp.{succ u2, succ u1, 1} ι α Real (fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1152 : α) => Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1152) g)) -> (Filter.Tendsto.{u2, u1} ι α (fun (x : ι) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))) (f x) (g x)) l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (SemigroupWithZero.toZero.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalRing.toNonUnitalSemiring.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto.zero_mul_is_bounded_under_le Filter.Tendsto.zero_mul_isBoundedUnder_leₓ'. -/
 theorem Filter.Tendsto.zero_mul_isBoundedUnder_le {f g : ι → α} {l : Filter ι}
     (hf : Tendsto f l (𝓝 0)) (hg : IsBoundedUnder (· ≤ ·) l (norm ∘ g)) :
     Tendsto (fun x => f x * g x) l (𝓝 0) :=
   hf.op_zero_isBoundedUnder_le hg (· * ·) norm_mul_le
 #align filter.tendsto.zero_mul_is_bounded_under_le Filter.Tendsto.zero_mul_isBoundedUnder_le
 
-/- warning: filter.is_bounded_under_le.mul_tendsto_zero -> Filter.isBoundedUnder_le_mul_tendsto_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] {f : ι -> α} {g : ι -> α} {l : Filter.{u2} ι}, (Filter.IsBoundedUnder.{0, u2} Real ι (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u2, succ u1, 1} ι α Real (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1)) f)) -> (Filter.Tendsto.{u2, u1} ι α g l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))))))) -> (Filter.Tendsto.{u2, u1} ι α (fun (x : ι) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (f x) (g x)) l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))))
-but is expected to have type
-  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] {f : ι -> α} {g : ι -> α} {l : Filter.{u2} ι}, (Filter.IsBoundedUnder.{0, u2} Real ι (fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1225 : Real) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1227 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1225 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1227) l (Function.comp.{succ u2, succ u1, 1} ι α Real (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1)) f)) -> (Filter.Tendsto.{u2, u1} ι α g l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (SemigroupWithZero.toZero.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalRing.toNonUnitalSemiring.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u2, u1} ι α (fun (x : ι) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))) (f x) (g x)) l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (SemigroupWithZero.toZero.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalRing.toNonUnitalSemiring.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align filter.is_bounded_under_le.mul_tendsto_zero Filter.isBoundedUnder_le_mul_tendsto_zeroₓ'. -/
 theorem Filter.isBoundedUnder_le_mul_tendsto_zero {f g : ι → α} {l : Filter ι}
     (hf : IsBoundedUnder (· ≤ ·) l (norm ∘ f)) (hg : Tendsto g l (𝓝 0)) :
     Tendsto (fun x => f x * g x) l (𝓝 0) :=
@@ -295,23 +253,11 @@ theorem Filter.isBoundedUnder_le_mul_tendsto_zero {f g : ι → α} {l : Filter
     (norm_mul_le y x).trans_eq (mul_comm _ _)
 #align filter.is_bounded_under_le.mul_tendsto_zero Filter.isBoundedUnder_le_mul_tendsto_zero
 
-/- warning: mul_left_bound -> mulLeft_bound is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (x : α) (y : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))) x) y)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) x) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) y))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (x : α) (y : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) y) (NonUnitalSeminormedRing.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) y) _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))) x) y)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) x) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) y))
-Case conversion may be inaccurate. Consider using '#align mul_left_bound mulLeft_boundₓ'. -/
 /-- In a seminormed ring, the left-multiplication `add_monoid_hom` is bounded. -/
 theorem mulLeft_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulLeft x y‖ ≤ ‖x‖ * ‖y‖ :=
   norm_mul_le x
 #align mul_left_bound mulLeft_bound
 
-/- warning: mul_right_bound -> mulRight_bound is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (x : α) (y : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))) x) y)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) x) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) y))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (x : α) (y : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) y) (NonUnitalSeminormedRing.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) y) _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))) x) y)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) x) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) y))
-Case conversion may be inaccurate. Consider using '#align mul_right_bound mulRight_boundₓ'. -/
 /-- In a seminormed ring, the right-multiplication `add_monoid_hom` is bounded. -/
 theorem mulRight_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulRight x y‖ ≤ ‖x‖ * ‖y‖ := fun y => by
   rw [mul_comm]; convert norm_mul_le y x
@@ -374,12 +320,6 @@ section SeminormedRing
 
 variable [SeminormedRing α]
 
-/- warning: subalgebra.semi_normed_ring -> Subalgebra.seminormedRing is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {_x : CommRing.{u1} 𝕜} {E : Type.{u2}} [_inst_2 : SeminormedRing.{u2} E] {_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2))} (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1), SeminormedRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.setLike.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1)) s)
-but is expected to have type
-  forall {𝕜 : Type.{u1}} [_x : CommRing.{u1} 𝕜] {E : Type.{u2}} [_inst_2 : SeminormedRing.{u2} E] [_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2))] (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1), SeminormedRing.{u2} (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.instSetLikeSubalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1)) x s))
-Case conversion may be inaccurate. Consider using '#align subalgebra.semi_normed_ring Subalgebra.seminormedRingₓ'. -/
 /-- A subalgebra of a seminormed ring is also a seminormed ring, with the restriction of the norm.
 
 See note [implicit instance arguments]. -/
@@ -388,12 +328,6 @@ instance Subalgebra.seminormedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type
   { s.toSubmodule.SeminormedAddCommGroup with norm_mul := fun a b => norm_mul_le a.1 b.1 }
 #align subalgebra.semi_normed_ring Subalgebra.seminormedRing
 
-/- warning: subalgebra.normed_ring -> Subalgebra.normedRing is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {_x : CommRing.{u1} 𝕜} {E : Type.{u2}} [_inst_2 : NormedRing.{u2} E] {_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2))} (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1), NormedRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.setLike.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1)) s)
-but is expected to have type
-  forall {𝕜 : Type.{u1}} [_x : CommRing.{u1} 𝕜] {E : Type.{u2}} [_inst_2 : NormedRing.{u2} E] [_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2))] (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1), NormedRing.{u2} (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.instSetLikeSubalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1)) x s))
-Case conversion may be inaccurate. Consider using '#align subalgebra.normed_ring Subalgebra.normedRingₓ'. -/
 /-- A subalgebra of a normed ring is also a normed ring, with the restriction of the norm.
 
 See note [implicit instance arguments]. -/
@@ -402,12 +336,6 @@ instance Subalgebra.normedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type _}
   { s.SeminormedRing with }
 #align subalgebra.normed_ring Subalgebra.normedRing
 
-/- warning: nat.norm_cast_le -> Nat.norm_cast_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat α (HasLiftT.mk.{1, succ u1} Nat α (CoeTCₓ.coe.{1, succ u1} Nat α (Nat.castCoe.{u1} α (AddMonoidWithOne.toNatCast.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))))) n)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) ((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) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Nat.cast.{u1} α (Semiring.toNatCast.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) n)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Nat.cast.{0} Real Real.natCast n) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))))
-Case conversion may be inaccurate. Consider using '#align nat.norm_cast_le Nat.norm_cast_leₓ'. -/
 theorem Nat.norm_cast_le : ∀ n : ℕ, ‖(n : α)‖ ≤ n * ‖(1 : α)‖
   | 0 => by simp
   | n + 1 => by
@@ -415,12 +343,6 @@ theorem Nat.norm_cast_le : ∀ n : ℕ, ‖(n : α)‖ ≤ n * ‖(1 : α)‖
     exact norm_add_le_of_le (Nat.norm_cast_le n) le_rfl
 #align nat.norm_cast_le Nat.norm_cast_le
 
-/- warning: list.norm_prod_le' -> List.norm_prod_le' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1)) l)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1)) l)))
-Case conversion may be inaccurate. Consider using '#align list.norm_prod_le' List.norm_prod_le'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem List.norm_prod_le' : ∀ {l : List α}, l ≠ [] → ‖l.Prod‖ ≤ (l.map norm).Prod
@@ -432,44 +354,20 @@ theorem List.norm_prod_le' : ∀ {l : List α}, l ≠ [] → ‖l.Prod‖ ≤ (l
     exact List.norm_prod_le' (List.cons_ne_nil b l)
 #align list.norm_prod_le' List.norm_prod_le'
 
-/- warning: list.nnnorm_prod_le' -> List.nnnorm_prod_le' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
-Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod_le' List.nnnorm_prod_le'ₓ'. -/
 theorem List.nnnorm_prod_le' {l : List α} (hl : l ≠ []) : ‖l.Prod‖₊ ≤ (l.map nnnorm).Prod :=
   (List.norm_prod_le' hl).trans_eq <| by simp [NNReal.coe_list_prod, List.map_map]
 #align list.nnnorm_prod_le' List.nnnorm_prod_le'
 
-/- warning: list.norm_prod_le -> List.norm_prod_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1)) l))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (l : List.{u1} α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1)) l))
-Case conversion may be inaccurate. Consider using '#align list.norm_prod_le List.norm_prod_leₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem List.norm_prod_le [NormOneClass α] : ∀ l : List α, ‖l.Prod‖ ≤ (l.map norm).Prod
   | [] => by simp
   | a::l => List.norm_prod_le' (List.cons_ne_nil a l)
 #align list.norm_prod_le List.norm_prod_le
 
-/- warning: list.nnnorm_prod_le -> List.nnnorm_prod_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
-Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod_le List.nnnorm_prod_leₓ'. -/
 theorem List.nnnorm_prod_le [NormOneClass α] (l : List α) : ‖l.Prod‖₊ ≤ (l.map nnnorm).Prod :=
   l.norm_prod_le.trans_eq <| by simp [NNReal.coe_list_prod, List.map_map]
 #align list.nnnorm_prod_le List.nnnorm_prod_le
 
-/- warning: finset.norm_prod_le' -> Finset.norm_prod_le' is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] (s : Finset.{u1} ι), (Finset.Nonempty.{u1} ι s) -> (forall (f : ι -> α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.commMonoid s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i))))
-but is expected to have type
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] (s : Finset.{u1} ι), (Finset.Nonempty.{u1} ι s) -> (forall (f : ι -> α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.instCommMonoidReal s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i))))
-Case conversion may be inaccurate. Consider using '#align finset.norm_prod_le' Finset.norm_prod_le'ₓ'. -/
 theorem Finset.norm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (hs : s.Nonempty)
     (f : ι → α) : ‖∏ i in s, f i‖ ≤ ∏ i in s, ‖f i‖ :=
   by
@@ -478,23 +376,11 @@ theorem Finset.norm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (
   simpa using List.norm_prod_le' this
 #align finset.norm_prod_le' Finset.norm_prod_le'
 
-/- warning: finset.nnnorm_prod_le' -> Finset.nnnorm_prod_le' is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] (s : Finset.{u1} ι), (Finset.Nonempty.{u1} ι s) -> (forall (f : ι -> α), LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i))))
-but is expected to have type
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] (s : Finset.{u1} ι), (Finset.Nonempty.{u1} ι s) -> (forall (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (LinearOrderedCommMonoid.toCommMonoid.{0} NNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} NNReal (LinearOrderedCommGroupWithZero.toLinearOrderedCommMonoidWithZero.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)))) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i))))
-Case conversion may be inaccurate. Consider using '#align finset.nnnorm_prod_le' Finset.nnnorm_prod_le'ₓ'. -/
 theorem Finset.nnnorm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (hs : s.Nonempty)
     (f : ι → α) : ‖∏ i in s, f i‖₊ ≤ ∏ i in s, ‖f i‖₊ :=
   (s.norm_prod_le' hs f).trans_eq <| by simp [NNReal.coe_prod]
 #align finset.nnnorm_prod_le' Finset.nnnorm_prod_le'
 
-/- warning: finset.norm_prod_le -> Finset.norm_prod_le is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (AddCommGroupWithOne.toAddGroupWithOne.{u2} α (Ring.toAddCommGroupWithOne.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.commMonoid s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i)))
-but is expected to have type
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Semiring.toOne.{u2} α (CommSemiring.toSemiring.{u2} α (CommRing.toCommSemiring.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2)))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.instCommMonoidReal s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i)))
-Case conversion may be inaccurate. Consider using '#align finset.norm_prod_le Finset.norm_prod_leₓ'. -/
 theorem Finset.norm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
     (f : ι → α) : ‖∏ i in s, f i‖ ≤ ∏ i in s, ‖f i‖ :=
   by
@@ -502,23 +388,11 @@ theorem Finset.norm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α]
   simpa using (l.map f).norm_prod_le
 #align finset.norm_prod_le Finset.norm_prod_le
 
-/- warning: finset.nnnorm_prod_le -> Finset.nnnorm_prod_le is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (AddCommGroupWithOne.toAddGroupWithOne.{u2} α (Ring.toAddCommGroupWithOne.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
-but is expected to have type
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Semiring.toOne.{u2} α (CommSemiring.toSemiring.{u2} α (CommRing.toCommSemiring.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2)))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (LinearOrderedCommMonoid.toCommMonoid.{0} NNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} NNReal (LinearOrderedCommGroupWithZero.toLinearOrderedCommMonoidWithZero.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)))) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
-Case conversion may be inaccurate. Consider using '#align finset.nnnorm_prod_le Finset.nnnorm_prod_leₓ'. -/
 theorem Finset.nnnorm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
     (f : ι → α) : ‖∏ i in s, f i‖₊ ≤ ∏ i in s, ‖f i‖₊ :=
   (s.norm_prod_le f).trans_eq <| by simp [NNReal.coe_prod]
 #align finset.nnnorm_prod_le Finset.nnnorm_prod_le
 
-/- warning: nnnorm_pow_le' -> nnnorm_pow_le' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α) {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α) {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n))
-Case conversion may be inaccurate. Consider using '#align nnnorm_pow_le' nnnorm_pow_le'ₓ'. -/
 /-- If `α` is a seminormed ring, then `‖a ^ n‖₊ ≤ ‖a‖₊ ^ n` for `n > 0`.
 See also `nnnorm_pow_le`. -/
 theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n
@@ -528,46 +402,22 @@ theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ 
       le_trans (nnnorm_mul_le _ _) (mul_le_mul_left' (nnnorm_pow_le' n.succ_pos) _)
 #align nnnorm_pow_le' nnnorm_pow_le'
 
-/- warning: nnnorm_pow_le -> nnnorm_pow_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
-Case conversion may be inaccurate. Consider using '#align nnnorm_pow_le nnnorm_pow_leₓ'. -/
 /-- If `α` is a seminormed ring with `‖1‖₊ = 1`, then `‖a ^ n‖₊ ≤ ‖a‖₊ ^ n`.
 See also `nnnorm_pow_le'`.-/
 theorem nnnorm_pow_le [NormOneClass α] (a : α) (n : ℕ) : ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n :=
   Nat.recOn n (by simp only [pow_zero, nnnorm_one]) fun k hk => nnnorm_pow_le' a k.succ_pos
 #align nnnorm_pow_le nnnorm_pow_le
 
-/- warning: norm_pow_le' -> norm_pow_le' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α) {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) a) n))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α) {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) a) n))
-Case conversion may be inaccurate. Consider using '#align norm_pow_le' norm_pow_le'ₓ'. -/
 /-- If `α` is a seminormed ring, then `‖a ^ n‖ ≤ ‖a‖ ^ n` for `n > 0`. See also `norm_pow_le`. -/
 theorem norm_pow_le' (a : α) {n : ℕ} (h : 0 < n) : ‖a ^ n‖ ≤ ‖a‖ ^ n := by
   simpa only [NNReal.coe_pow, coe_nnnorm] using NNReal.coe_mono (nnnorm_pow_le' a h)
 #align norm_pow_le' norm_pow_le'
 
-/- warning: norm_pow_le -> norm_pow_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) a) n)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (a : α) (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) a) n)
-Case conversion may be inaccurate. Consider using '#align norm_pow_le norm_pow_leₓ'. -/
 /-- If `α` is a seminormed ring with `‖1‖ = 1`, then `‖a ^ n‖ ≤ ‖a‖ ^ n`. See also `norm_pow_le'`.-/
 theorem norm_pow_le [NormOneClass α] (a : α) (n : ℕ) : ‖a ^ n‖ ≤ ‖a‖ ^ n :=
   Nat.recOn n (by simp only [pow_zero, norm_one]) fun n hn => norm_pow_le' a n.succ_pos
 #align norm_pow_le norm_pow_le
 
-/- warning: eventually_norm_pow_le -> eventually_norm_pow_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α), Filter.Eventually.{0} Nat (fun (n : Nat) => LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) a) n)) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α), Filter.Eventually.{0} Nat (fun (n : Nat) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) a) n)) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))
-Case conversion may be inaccurate. Consider using '#align eventually_norm_pow_le eventually_norm_pow_leₓ'. -/
 theorem eventually_norm_pow_le (a : α) : ∀ᶠ n : ℕ in atTop, ‖a ^ n‖ ≤ ‖a‖ ^ n :=
   eventually_atTop.mpr ⟨1, fun b h => norm_pow_le' a (Nat.succ_le_iff.mp h)⟩
 #align eventually_norm_pow_le eventually_norm_pow_le
@@ -636,22 +486,10 @@ section NormedRing
 
 variable [NormedRing α]
 
-/- warning: units.norm_pos -> Units.norm_pos is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedRing.{u1} α] [_inst_2 : Nontrivial.{u1} α] (x : Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))), LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u1} α (NormedRing.toHasNorm.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (coeBase.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (Units.hasCoe.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1)))))) x))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedRing.{u1} α] [_inst_2 : Nontrivial.{u1} α] (x : Units.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (NormedRing.toRing.{u1} α _inst_1))))), LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u1} α (NormedRing.toNorm.{u1} α _inst_1) (Units.val.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (NormedRing.toRing.{u1} α _inst_1)))) x))
-Case conversion may be inaccurate. Consider using '#align units.norm_pos Units.norm_posₓ'. -/
 theorem Units.norm_pos [Nontrivial α] (x : αˣ) : 0 < ‖(x : α)‖ :=
   norm_pos_iff.mpr (Units.ne_zero x)
 #align units.norm_pos Units.norm_pos
 
-/- warning: units.nnnorm_pos -> Units.nnnorm_pos is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedRing.{u1} α] [_inst_2 : Nontrivial.{u1} α] (x : Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))), LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (OfNat.ofNat.{0} NNReal 0 (OfNat.mk.{0} NNReal 0 (Zero.zero.{0} NNReal (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (coeBase.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (Units.hasCoe.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1)))))) x))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedRing.{u1} α] [_inst_2 : Nontrivial.{u1} α] (x : Units.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (NormedRing.toRing.{u1} α _inst_1))))), LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} NNReal 0 (Zero.toOfNat0.{0} NNReal instNNRealZero)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α _inst_1))))) (Units.val.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (NormedRing.toRing.{u1} α _inst_1)))) x))
-Case conversion may be inaccurate. Consider using '#align units.nnnorm_pos Units.nnnorm_posₓ'. -/
 theorem Units.nnnorm_pos [Nontrivial α] (x : αˣ) : 0 < ‖(x : α)‖₊ :=
   x.norm_pos
 #align units.nnnorm_pos Units.nnnorm_pos
@@ -682,12 +520,6 @@ instance MulOpposite.normedRing : NormedRing αᵐᵒᵖ :=
 
 end NormedRing
 
-/- warning: semi_normed_ring_top_monoid -> semi_normed_ring_top_monoid is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α], ContinuousMul.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α], ContinuousMul.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))
-Case conversion may be inaccurate. Consider using '#align semi_normed_ring_top_monoid semi_normed_ring_top_monoidₓ'. -/
 -- see Note [lower instance priority]
 instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing α] :
     ContinuousMul α :=
@@ -723,23 +555,11 @@ section NormedDivisionRing
 
 variable [NormedDivisionRing α]
 
-/- warning: norm_mul -> norm_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a b)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) b))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a b)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) b))
-Case conversion may be inaccurate. Consider using '#align norm_mul norm_mulₓ'. -/
 @[simp]
 theorem norm_mul (a b : α) : ‖a * b‖ = ‖a‖ * ‖b‖ :=
   NormedDivisionRing.norm_mul' a b
 #align norm_mul norm_mul
 
-/- warning: normed_division_ring.to_norm_one_class -> NormedDivisionRing.to_normOneClass is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], NormOneClass.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], NormOneClass.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align normed_division_ring.to_norm_one_class NormedDivisionRing.to_normOneClassₓ'. -/
 instance (priority := 900) NormedDivisionRing.to_normOneClass : NormOneClass α :=
   ⟨mul_left_cancel₀ (mt norm_eq_zero.1 (one_ne_zero' α)) <| by rw [← norm_mul, mul_one, mul_one]⟩
 #align normed_division_ring.to_norm_one_class NormedDivisionRing.to_normOneClass
@@ -754,12 +574,6 @@ instance isAbsoluteValue_norm : IsAbsoluteValue (norm : α → ℝ)
 #align is_absolute_value_norm isAbsoluteValue_norm
 -/
 
-/- warning: nnnorm_mul -> nnnorm_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a 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))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) b))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a b)) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) b))
-Case conversion may be inaccurate. Consider using '#align nnnorm_mul nnnorm_mulₓ'. -/
 @[simp]
 theorem nnnorm_mul (a b : α) : ‖a * b‖₊ = ‖a‖₊ * ‖b‖₊ :=
   NNReal.eq <| norm_mul a b
@@ -781,87 +595,39 @@ def nnnormHom : α →*₀ ℝ≥0 :=
 #align nnnorm_hom nnnormHom
 -/
 
-/- warning: norm_pow -> norm_pow is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Nat), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) a) n)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Nat), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) a) n)
-Case conversion may be inaccurate. Consider using '#align norm_pow norm_powₓ'. -/
 @[simp]
 theorem norm_pow (a : α) : ∀ n : ℕ, ‖a ^ n‖ = ‖a‖ ^ n :=
   (normHom.toMonoidHom : α →* ℝ).map_pow a
 #align norm_pow norm_pow
 
-/- warning: nnnorm_pow -> nnnorm_pow is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Nat), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) n)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Nat), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) n)
-Case conversion may be inaccurate. Consider using '#align nnnorm_pow nnnorm_powₓ'. -/
 @[simp]
 theorem nnnorm_pow (a : α) (n : ℕ) : ‖a ^ n‖₊ = ‖a‖₊ ^ n :=
   (nnnormHom.toMonoidHom : α →* ℝ≥0).map_pow a n
 #align nnnorm_pow nnnorm_pow
 
-/- warning: list.norm_prod -> List.norm_prod is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) l))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) (Semiring.toOne.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) l))
-Case conversion may be inaccurate. Consider using '#align list.norm_prod List.norm_prodₓ'. -/
 protected theorem List.norm_prod (l : List α) : ‖l.Prod‖ = (l.map norm).Prod :=
   (normHom.toMonoidHom : α →* ℝ).map_list_prod _
 #align list.norm_prod List.norm_prod
 
-/- warning: list.nnnorm_prod -> List.nnnorm_prod is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) l))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) (Semiring.toOne.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) l))
-Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod List.nnnorm_prodₓ'. -/
 protected theorem List.nnnorm_prod (l : List α) : ‖l.Prod‖₊ = (l.map nnnorm).Prod :=
   (nnnormHom.toMonoidHom : α →* ℝ≥0).map_list_prod _
 #align list.nnnorm_prod List.nnnorm_prod
 
-/- warning: norm_div -> norm_div is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toHasDiv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) a b)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) b))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivisionRing.toDiv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) a b)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) b))
-Case conversion may be inaccurate. Consider using '#align norm_div norm_divₓ'. -/
 @[simp]
 theorem norm_div (a b : α) : ‖a / b‖ = ‖a‖ / ‖b‖ :=
   map_div₀ (normHom : α →*₀ ℝ) a b
 #align norm_div norm_div
 
-/- warning: nnnorm_div -> nnnorm_div is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toHasDiv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) a b)) (HDiv.hDiv.{0, 0, 0} NNReal NNReal NNReal (instHDiv.{0} NNReal NNReal.hasDiv) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) b))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivisionRing.toDiv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) a b)) (HDiv.hDiv.{0, 0, 0} NNReal NNReal NNReal (instHDiv.{0} NNReal (CanonicallyLinearOrderedSemifield.toDiv.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) b))
-Case conversion may be inaccurate. Consider using '#align nnnorm_div nnnorm_divₓ'. -/
 @[simp]
 theorem nnnorm_div (a b : α) : ‖a / b‖₊ = ‖a‖₊ / ‖b‖₊ :=
   map_div₀ (nnnormHom : α →*₀ ℝ≥0) a b
 #align nnnorm_div nnnorm_div
 
-/- warning: norm_inv -> norm_inv is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) a)) (Inv.inv.{0} Real Real.hasInv (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) a))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) a)) (Inv.inv.{0} Real Real.instInvReal (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) a))
-Case conversion may be inaccurate. Consider using '#align norm_inv norm_invₓ'. -/
 @[simp]
 theorem norm_inv (a : α) : ‖a⁻¹‖ = ‖a‖⁻¹ :=
   map_inv₀ (normHom : α →*₀ ℝ) a
 #align norm_inv norm_inv
 
-/- warning: nnnorm_inv -> nnnorm_inv is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) a)) (Inv.inv.{0} NNReal (DivInvMonoid.toHasInv.{0} NNReal (GroupWithZero.toDivInvMonoid.{0} NNReal (DivisionSemiring.toGroupWithZero.{0} NNReal (Semifield.toDivisionSemiring.{0} NNReal (LinearOrderedSemifield.toSemifield.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedSemifield.{0} NNReal NNReal.canonicallyLinearOrderedSemifield)))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) a)) (Inv.inv.{0} NNReal (CanonicallyLinearOrderedSemifield.toInv.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a))
-Case conversion may be inaccurate. Consider using '#align nnnorm_inv nnnorm_invₓ'. -/
 @[simp]
 theorem nnnorm_inv (a : α) : ‖a⁻¹‖₊ = ‖a‖₊⁻¹ :=
   NNReal.eq <| by simp
@@ -874,46 +640,22 @@ theorem norm_zpow : ∀ (a : α) (n : ℤ), ‖a ^ n‖ = ‖a‖ ^ n :=
 #align norm_zpow norm_zpow
 -/
 
-/- warning: nnnorm_zpow -> nnnorm_zpow is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Int), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HPow.hPow.{u1, 0, u1} α Int α (instHPow.{u1, 0} α Int (DivInvMonoid.Pow.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Int NNReal (instHPow.{0, 0} NNReal Int (DivInvMonoid.Pow.{0} NNReal (GroupWithZero.toDivInvMonoid.{0} NNReal (DivisionSemiring.toGroupWithZero.{0} NNReal (Semifield.toDivisionSemiring.{0} NNReal (LinearOrderedSemifield.toSemifield.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedSemifield.{0} NNReal NNReal.canonicallyLinearOrderedSemifield))))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) n)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Int), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HPow.hPow.{u1, 0, u1} α Int α (instHPow.{u1, 0} α Int (DivInvMonoid.Pow.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Int NNReal (instHPow.{0, 0} NNReal Int (DivInvMonoid.Pow.{0} NNReal (GroupWithZero.toDivInvMonoid.{0} NNReal (DivisionSemiring.toGroupWithZero.{0} NNReal (Semifield.toDivisionSemiring.{0} NNReal (LinearOrderedSemifield.toSemifield.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedSemifield.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal))))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) n)
-Case conversion may be inaccurate. Consider using '#align nnnorm_zpow nnnorm_zpowₓ'. -/
 @[simp]
 theorem nnnorm_zpow : ∀ (a : α) (n : ℤ), ‖a ^ n‖₊ = ‖a‖₊ ^ n :=
   map_zpow₀ (nnnormHom : α →*₀ ℝ≥0)
 #align nnnorm_zpow nnnorm_zpow
 
-/- warning: dist_inv_inv₀ -> dist_inv_inv₀ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {z : α} {w : α}, (Ne.{succ u1} α z (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Ne.{succ u1} α w (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Eq.{1} Real (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) z) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) w)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) z w) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) z) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) w))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {z : α} {w : α}, (Ne.{succ u1} α z (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Ne.{succ u1} α w (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Eq.{1} Real (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) z) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) w)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) z w) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) z) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) w))))
-Case conversion may be inaccurate. Consider using '#align dist_inv_inv₀ dist_inv_inv₀ₓ'. -/
 theorem dist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) : dist z⁻¹ w⁻¹ = dist z w / (‖z‖ * ‖w‖) :=
   by
   rw [dist_eq_norm, inv_sub_inv' hz hw, norm_mul, norm_mul, norm_inv, norm_inv, mul_comm ‖z‖⁻¹,
     mul_assoc, dist_eq_norm', div_eq_mul_inv, mul_inv]
 #align dist_inv_inv₀ dist_inv_inv₀
 
-/- warning: nndist_inv_inv₀ -> nndist_inv_inv₀ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {z : α} {w : α}, (Ne.{succ u1} α z (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Ne.{succ u1} α w (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Eq.{1} NNReal (NNDist.nndist.{u1} α (PseudoMetricSpace.toNNDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) z) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) w)) (HDiv.hDiv.{0, 0, 0} NNReal NNReal NNReal (instHDiv.{0} NNReal NNReal.hasDiv) (NNDist.nndist.{u1} α (PseudoMetricSpace.toNNDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) z w) (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))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) z) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) w))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {z : α} {w : α}, (Ne.{succ u1} α z (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Ne.{succ u1} α w (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Eq.{1} NNReal (NNDist.nndist.{u1} α (PseudoMetricSpace.toNNDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) z) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) w)) (HDiv.hDiv.{0, 0, 0} NNReal NNReal NNReal (instHDiv.{0} NNReal (CanonicallyLinearOrderedSemifield.toDiv.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)) (NNDist.nndist.{u1} α (PseudoMetricSpace.toNNDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) z w) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) z) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) w))))
-Case conversion may be inaccurate. Consider using '#align nndist_inv_inv₀ nndist_inv_inv₀ₓ'. -/
 theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
     nndist z⁻¹ w⁻¹ = nndist z w / (‖z‖₊ * ‖w‖₊) := by rw [← NNReal.coe_eq];
   simp [-NNReal.coe_eq, dist_inv_inv₀ hz hw]
 #align nndist_inv_inv₀ nndist_inv_inv₀
 
-/- warning: filter.tendsto_mul_left_cobounded -> Filter.tendsto_mul_left_cobounded is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Filter.Tendsto.{u1, u1} α α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5145 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5147 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5145 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5147) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto_mul_left_cobounded Filter.tendsto_mul_left_coboundedₓ'. -/
 /-- Multiplication on the left by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
 theorem Filter.tendsto_mul_left_cobounded {a : α} (ha : a ≠ 0) :
@@ -922,12 +664,6 @@ theorem Filter.tendsto_mul_left_cobounded {a : α} (ha : a ≠ 0) :
     tendsto_const_nhds.mul_at_top (norm_pos_iff.2 ha) tendsto_comap
 #align filter.tendsto_mul_left_cobounded Filter.tendsto_mul_left_cobounded
 
-/- warning: filter.tendsto_mul_right_cobounded -> Filter.tendsto_mul_right_cobounded is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Filter.Tendsto.{u1, u1} α α (fun (x : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) x a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α (fun (x : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
-Case conversion may be inaccurate. Consider using '#align filter.tendsto_mul_right_cobounded Filter.tendsto_mul_right_coboundedₓ'. -/
 /-- Multiplication on the right by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
 theorem Filter.tendsto_mul_right_cobounded {a : α} (ha : a ≠ 0) :
@@ -936,12 +672,6 @@ theorem Filter.tendsto_mul_right_cobounded {a : α} (ha : a ≠ 0) :
     tendsto_comap.at_top_mul (norm_pos_iff.2 ha) tendsto_const_nhds
 #align filter.tendsto_mul_right_cobounded Filter.tendsto_mul_right_cobounded
 
-/- warning: normed_division_ring.to_has_continuous_inv₀ -> NormedDivisionRing.to_hasContinuousInv₀ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], HasContinuousInv₀.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], HasContinuousInv₀.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))) (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align normed_division_ring.to_has_continuous_inv₀ NormedDivisionRing.to_hasContinuousInv₀ₓ'. -/
 -- see Note [lower instance priority]
 instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContinuousInv₀ α :=
   by
@@ -973,12 +703,6 @@ instance (priority := 100) NormedDivisionRing.to_topologicalDivisionRing : Topol
 #align normed_division_ring.to_topological_division_ring NormedDivisionRing.to_topologicalDivisionRing
 -/
 
-/- warning: norm_map_one_of_pow_eq_one -> norm_map_one_of_pow_eq_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedDivisionRing.{u1} α] [_inst_2 : Monoid.{u2} β] (φ : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) {x : β} {k : PNat}, (Eq.{succ u2} β (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β _inst_2)) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) PNat Nat (HasLiftT.mk.{1, 1} PNat Nat (CoeTCₓ.coe.{1, 1} PNat Nat (coeBase.{1, 1} PNat Nat coePNatNat))) k)) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β (MulOneClass.toHasOne.{u2} β (Monoid.toMulOneClass.{u2} β _inst_2)))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) (fun (_x : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) => β -> α) (MonoidHom.hasCoeToFun.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) φ x)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedDivisionRing.{u1} α] [_inst_2 : Monoid.{u2} β] (φ : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) {x : β} {k : PNat}, (Eq.{succ u2} β (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β _inst_2)) x (PNat.val k)) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Monoid.toOne.{u2} β _inst_2)))) -> (Eq.{1} Real (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : β) => α) x) (NormedDivisionRing.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : β) => α) x) _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : β) => α) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β α (MulOneClass.toMul.{u2} β (Monoid.toMulOneClass.{u2} β _inst_2)) (MulOneClass.toMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))) (MonoidHom.monoidHomClass.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))))) φ x)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
-Case conversion may be inaccurate. Consider using '#align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_oneₓ'. -/
 theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ (k : ℕ) = 1) :
     ‖φ x‖ = 1 :=
   by
@@ -986,12 +710,6 @@ theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : 
   exacts[norm_nonneg _, zero_le_one, k.pos]
 #align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_one
 
-/- warning: norm_one_of_pow_eq_one -> norm_one_of_pow_eq_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {x : α} {k : PNat}, (Eq.{succ u1} α (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) PNat Nat (HasLiftT.mk.{1, 1} PNat Nat (CoeTCₓ.coe.{1, 1} PNat Nat (coeBase.{1, 1} PNat Nat coePNatNat))) k)) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {x : α} {k : PNat}, (Eq.{succ u1} α (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) x (PNat.val k)) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) x) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
-Case conversion may be inaccurate. Consider using '#align norm_one_of_pow_eq_one norm_one_of_pow_eq_oneₓ'. -/
 theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖x‖ = 1 :=
   norm_map_one_of_pow_eq_one (MonoidHom.id α) h
 #align norm_one_of_pow_eq_one norm_one_of_pow_eq_one
@@ -1060,12 +778,6 @@ theorem norm_prod (s : Finset β) (f : β → α) : ‖∏ b in s, f b‖ = ∏
 #align norm_prod norm_prod
 -/
 
-/- warning: nnnorm_prod -> nnnorm_prod is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedField.{u1} α] (s : Finset.{u2} β) (f : β -> α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α _inst_1))))))) (Finset.prod.{u1, u2} α β (CommRing.toCommMonoid.{u1} α (SeminormedCommRing.toCommRing.{u1} α (NormedCommRing.toSeminormedCommRing.{u1} α (NormedField.toNormedCommRing.{u1} α _inst_1)))) s (fun (b : β) => f b))) (Finset.prod.{0, u2} NNReal β (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (b : β) => NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α _inst_1))))))) (f b)))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedField.{u1} α] (s : Finset.{u2} β) (f : β -> α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α _inst_1))))))) (Finset.prod.{u1, u2} α β (CommRing.toCommMonoid.{u1} α (EuclideanDomain.toCommRing.{u1} α (Field.toEuclideanDomain.{u1} α (NormedField.toField.{u1} α _inst_1)))) s (fun (b : β) => f b))) (Finset.prod.{0, u2} NNReal β (LinearOrderedCommMonoid.toCommMonoid.{0} NNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} NNReal (LinearOrderedCommGroupWithZero.toLinearOrderedCommMonoidWithZero.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)))) s (fun (b : β) => NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α _inst_1))))))) (f b)))
-Case conversion may be inaccurate. Consider using '#align nnnorm_prod nnnorm_prodₓ'. -/
 @[simp]
 theorem nnnorm_prod (s : Finset β) (f : β → α) : ‖∏ b in s, f b‖₊ = ∏ b in s, ‖f b‖₊ :=
   (nnnormHom.toMonoidHom : α →* ℝ≥0).map_prod f s
@@ -1079,57 +791,27 @@ section Nontrivially
 
 variable (α) [NontriviallyNormedField α]
 
-/- warning: normed_field.exists_one_lt_norm -> NormedField.exists_one_lt_norm is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α], Exists.{succ u1} α (fun (x : α) => LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x))
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α], Exists.{succ u1} α (fun (x : α) => LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x))
-Case conversion may be inaccurate. Consider using '#align normed_field.exists_one_lt_norm NormedField.exists_one_lt_normₓ'. -/
 theorem exists_one_lt_norm : ∃ x : α, 1 < ‖x‖ :=
   ‹NontriviallyNormedField α›.non_trivial
 #align normed_field.exists_one_lt_norm NormedField.exists_one_lt_norm
 
-/- warning: normed_field.exists_lt_norm -> NormedField.exists_lt_norm is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α] (r : Real), Exists.{succ u1} α (fun (x : α) => LT.lt.{0} Real Real.hasLt r (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x))
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α] (r : Real), Exists.{succ u1} α (fun (x : α) => LT.lt.{0} Real Real.instLTReal r (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x))
-Case conversion may be inaccurate. Consider using '#align normed_field.exists_lt_norm NormedField.exists_lt_normₓ'. -/
 theorem exists_lt_norm (r : ℝ) : ∃ x : α, r < ‖x‖ :=
   let ⟨w, hw⟩ := exists_one_lt_norm α
   let ⟨n, hn⟩ := pow_unbounded_of_one_lt r hw
   ⟨w ^ n, by rwa [norm_pow]⟩
 #align normed_field.exists_lt_norm NormedField.exists_lt_norm
 
-/- warning: normed_field.exists_norm_lt -> NormedField.exists_norm_lt is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α] {r : Real}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x) r)))
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α] {r : Real}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x) r)))
-Case conversion may be inaccurate. Consider using '#align normed_field.exists_norm_lt NormedField.exists_norm_ltₓ'. -/
 theorem exists_norm_lt {r : ℝ} (hr : 0 < r) : ∃ x : α, 0 < ‖x‖ ∧ ‖x‖ < r :=
   let ⟨w, hw⟩ := exists_lt_norm α r⁻¹
   ⟨w⁻¹, by rwa [← Set.mem_Ioo, norm_inv, ← Set.mem_inv, Set.inv_Ioo_0_left hr]⟩
 #align normed_field.exists_norm_lt NormedField.exists_norm_lt
 
-/- warning: normed_field.exists_norm_lt_one -> NormedField.exists_norm_lt_one is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α], Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))))
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α], Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))))
-Case conversion may be inaccurate. Consider using '#align normed_field.exists_norm_lt_one NormedField.exists_norm_lt_oneₓ'. -/
 theorem exists_norm_lt_one : ∃ x : α, 0 < ‖x‖ ∧ ‖x‖ < 1 :=
   exists_norm_lt α one_pos
 #align normed_field.exists_norm_lt_one NormedField.exists_norm_lt_one
 
 variable {α}
 
-/- warning: normed_field.punctured_nhds_ne_bot -> NormedField.punctured_nhds_neBot is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} α] (x : α), Filter.NeBot.{u1} α (nhdsWithin.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (SeminormedCommRing.toSemiNormedRing.{u1} α (NormedCommRing.toSeminormedCommRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))))) x (HasCompl.compl.{u1} (Set.{u1} α) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} α] (x : α), Filter.NeBot.{u1} α (nhdsWithin.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (SeminormedCommRing.toSeminormedRing.{u1} α (NormedCommRing.toSeminormedCommRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))))) x (HasCompl.compl.{u1} (Set.{u1} α) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} α) (Set.instBooleanAlgebraSet.{u1} α)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)))
-Case conversion may be inaccurate. Consider using '#align normed_field.punctured_nhds_ne_bot NormedField.punctured_nhds_neBotₓ'. -/
 @[instance]
 theorem punctured_nhds_neBot (x : α) : NeBot (𝓝[≠] x) :=
   by
@@ -1140,12 +822,6 @@ theorem punctured_nhds_neBot (x : α) : NeBot (𝓝[≠] x) :=
   rwa [dist_comm, dist_eq_norm, add_sub_cancel']
 #align normed_field.punctured_nhds_ne_bot NormedField.punctured_nhds_neBot
 
-/- warning: normed_field.nhds_within_is_unit_ne_bot -> NormedField.nhdsWithin_isUnit_neBot is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} α], Filter.NeBot.{u1} α (nhdsWithin.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (SeminormedCommRing.toSemiNormedRing.{u1} α (NormedCommRing.toSeminormedCommRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)))))))))))) (setOf.{u1} α (fun (x : α) => IsUnit.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))) x)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} α], Filter.NeBot.{u1} α (nhdsWithin.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (SeminormedCommRing.toSeminormedRing.{u1} α (NormedCommRing.toSeminormedCommRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (Field.toSemifield.{u1} α (NormedField.toField.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)))))))) (setOf.{u1} α (fun (x : α) => IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (Semifield.toDivisionSemiring.{u1} α (Field.toSemifield.{u1} α (NormedField.toField.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))))) x)))
-Case conversion may be inaccurate. Consider using '#align normed_field.nhds_within_is_unit_ne_bot NormedField.nhdsWithin_isUnit_neBotₓ'. -/
 @[instance]
 theorem nhdsWithin_isUnit_neBot : NeBot (𝓝[{ x : α | IsUnit x }] 0) := by
   simpa only [isUnit_iff_ne_zero] using punctured_nhds_ne_bot (0 : α)
@@ -1157,32 +833,14 @@ section Densely
 
 variable (α) [DenselyNormedField α]
 
-/- warning: normed_field.exists_lt_norm_lt -> NormedField.exists_lt_norm_lt is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α] {r₁ : Real} {r₂ : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r₁) -> (LT.lt.{0} Real Real.hasLt r₁ r₂) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.hasLt r₁ (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)) x) r₂)))
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α] {r₁ : Real} {r₂ : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r₁) -> (LT.lt.{0} Real Real.instLTReal r₁ r₂) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.instLTReal r₁ (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)) x) r₂)))
-Case conversion may be inaccurate. Consider using '#align normed_field.exists_lt_norm_lt NormedField.exists_lt_norm_ltₓ'. -/
 theorem exists_lt_norm_lt {r₁ r₂ : ℝ} (h₀ : 0 ≤ r₁) (h : r₁ < r₂) : ∃ x : α, r₁ < ‖x‖ ∧ ‖x‖ < r₂ :=
   DenselyNormedField.lt_norm_lt r₁ r₂ h₀ h
 #align normed_field.exists_lt_norm_lt NormedField.exists_lt_norm_lt
 
-/- warning: normed_field.exists_lt_nnnorm_lt -> NormedField.exists_lt_nnnorm_lt is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α] {r₁ : NNReal} {r₂ : NNReal}, (LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) r₁ r₂) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) r₁ (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))) x)) (LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))) x) r₂)))
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α] {r₁ : NNReal} {r₂ : NNReal}, (LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) r₁ r₂) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) r₁ (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))) x)) (LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))) x) r₂)))
-Case conversion may be inaccurate. Consider using '#align normed_field.exists_lt_nnnorm_lt NormedField.exists_lt_nnnorm_ltₓ'. -/
 theorem exists_lt_nnnorm_lt {r₁ r₂ : ℝ≥0} (h : r₁ < r₂) : ∃ x : α, r₁ < ‖x‖₊ ∧ ‖x‖₊ < r₂ := by
   exact_mod_cast exists_lt_norm_lt α r₁.prop h
 #align normed_field.exists_lt_nnnorm_lt NormedField.exists_lt_nnnorm_lt
 
-/- warning: normed_field.densely_ordered_range_norm -> NormedField.denselyOrdered_range_norm is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenselyOrdered.{0} (coeSort.{1, 2} (Set.{0} Real) Type (Set.hasCoeToSort.{0} Real) (Set.range.{0, succ u1} Real α (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))) (Subtype.hasLt.{0} Real Real.hasLt (fun (x : Real) => Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) x (Set.range.{0, succ u1} Real α (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenselyOrdered.{0} (Set.Elem.{0} Real (Set.range.{0, succ u1} Real α (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))) (Subtype.lt.{0} Real Real.instLTReal (fun (x : Real) => Membership.mem.{0, 0} Real (Set.{0} Real) (Set.instMembershipSet.{0} Real) x (Set.range.{0, succ u1} Real α (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align normed_field.densely_ordered_range_norm NormedField.denselyOrdered_range_normₓ'. -/
 instance denselyOrdered_range_norm : DenselyOrdered (Set.range (norm : α → ℝ))
     where dense := by
     rintro ⟨-, x, rfl⟩ ⟨-, y, rfl⟩ hxy
@@ -1191,12 +849,6 @@ instance denselyOrdered_range_norm : DenselyOrdered (Set.range (norm : α → 
       ⟨⟨‖z‖, z, rfl⟩, h⟩
 #align normed_field.densely_ordered_range_norm NormedField.denselyOrdered_range_norm
 
-/- warning: normed_field.densely_ordered_range_nnnorm -> NormedField.denselyOrdered_range_nnnorm is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenselyOrdered.{0} (coeSort.{1, 2} (Set.{0} NNReal) Type (Set.hasCoeToSort.{0} NNReal) (Set.range.{0, succ u1} NNReal α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))))))) (Subtype.hasLt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (fun (x : NNReal) => Membership.Mem.{0, 0} NNReal (Set.{0} NNReal) (Set.hasMem.{0} NNReal) x (Set.range.{0, succ u1} NNReal α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))))))))
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenselyOrdered.{0} (Set.Elem.{0} NNReal (Set.range.{0, succ u1} NNReal α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))))))) (Subtype.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (fun (x : NNReal) => Membership.mem.{0, 0} NNReal (Set.{0} NNReal) (Set.instMembershipSet.{0} NNReal) x (Set.range.{0, succ u1} NNReal α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))))))))
-Case conversion may be inaccurate. Consider using '#align normed_field.densely_ordered_range_nnnorm NormedField.denselyOrdered_range_nnnormₓ'. -/
 instance denselyOrdered_range_nnnorm : DenselyOrdered (Set.range (nnnorm : α → ℝ≥0))
     where dense := by
     rintro ⟨-, x, rfl⟩ ⟨-, y, rfl⟩ hxy
@@ -1205,12 +857,6 @@ instance denselyOrdered_range_nnnorm : DenselyOrdered (Set.range (nnnorm : α 
       ⟨⟨‖z‖₊, z, rfl⟩, h⟩
 #align normed_field.densely_ordered_range_nnnorm NormedField.denselyOrdered_range_nnnorm
 
-/- warning: normed_field.dense_range_nnnorm -> NormedField.denseRange_nnnorm is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenseRange.{0, u1} NNReal NNReal.topologicalSpace α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))))
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenseRange.{0, u1} NNReal NNReal.instTopologicalSpaceNNReal α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))))
-Case conversion may be inaccurate. Consider using '#align normed_field.dense_range_nnnorm NormedField.denseRange_nnnormₓ'. -/
 theorem denseRange_nnnorm : DenseRange (nnnorm : α → ℝ≥0) :=
   dense_of_exists_between fun _ _ hr =>
     let ⟨x, h⟩ := exists_lt_nnnorm_lt α hr
@@ -1234,22 +880,10 @@ noncomputable instance : DenselyNormedField ℝ
 
 namespace Real
 
-/- warning: real.to_nnreal_mul_nnnorm -> Real.toNNReal_mul_nnnorm is a dubious translation:
-lean 3 declaration is
-  forall {x : Real} (y : Real), (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) x) -> (Eq.{1} NNReal (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))))) (Real.toNNReal x) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) y)) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) x y)))
-but is expected to have type
-  forall {x : Real} (y : Real), (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) x) -> (Eq.{1} NNReal (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (Real.toNNReal x) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) y)) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) x y)))
-Case conversion may be inaccurate. Consider using '#align real.to_nnreal_mul_nnnorm Real.toNNReal_mul_nnnormₓ'. -/
 theorem toNNReal_mul_nnnorm {x : ℝ} (y : ℝ) (hx : 0 ≤ x) : x.toNNReal * ‖y‖₊ = ‖x * y‖₊ := by
   simp [Real.toNNReal_of_nonneg, nnnorm, norm_of_nonneg, hx]
 #align real.to_nnreal_mul_nnnorm Real.toNNReal_mul_nnnorm
 
-/- warning: real.nnnorm_mul_to_nnreal -> Real.nnnorm_mul_toNNReal is a dubious translation:
-lean 3 declaration is
-  forall (x : Real) {y : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) y) -> (Eq.{1} NNReal (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))))) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) x) (Real.toNNReal y)) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) x y)))
-but is expected to have type
-  forall (x : Real) {y : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) y) -> (Eq.{1} NNReal (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) x) (Real.toNNReal y)) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) x y)))
-Case conversion may be inaccurate. Consider using '#align real.nnnorm_mul_to_nnreal Real.nnnorm_mul_toNNRealₓ'. -/
 theorem nnnorm_mul_toNNReal (x : ℝ) {y : ℝ} (hy : 0 ≤ y) : ‖x‖₊ * y.toNNReal = ‖x * y‖₊ := by
   simp [Real.toNNReal_of_nonneg, nnnorm, norm_of_nonneg, hy]
 #align real.nnnorm_mul_to_nnreal Real.nnnorm_mul_toNNReal
@@ -1260,22 +894,10 @@ namespace NNReal
 
 open NNReal
 
-/- warning: nnreal.norm_eq -> NNReal.norm_eq is a dubious translation:
-lean 3 declaration is
-  forall (x : NNReal), Eq.{1} Real (Norm.norm.{0} Real Real.hasNorm ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe))) x)) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe))) x)
-but is expected to have type
-  forall (x : NNReal), Eq.{1} Real (Norm.norm.{0} Real Real.norm (NNReal.toReal x)) (NNReal.toReal x)
-Case conversion may be inaccurate. Consider using '#align nnreal.norm_eq NNReal.norm_eqₓ'. -/
 @[simp]
 theorem norm_eq (x : ℝ≥0) : ‖(x : ℝ)‖ = x := by rw [Real.norm_eq_abs, x.abs_eq]
 #align nnreal.norm_eq NNReal.norm_eq
 
-/- warning: nnreal.nnnorm_eq -> NNReal.nnnorm_eq is a dubious translation:
-lean 3 declaration is
-  forall (x : NNReal), Eq.{1} NNReal (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe))) x)) x
-but is expected to have type
-  forall (x : NNReal), Eq.{1} NNReal (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) (NNReal.toReal x)) x
-Case conversion may be inaccurate. Consider using '#align nnreal.nnnorm_eq NNReal.nnnorm_eqₓ'. -/
 @[simp]
 theorem nnnorm_eq (x : ℝ≥0) : ‖(x : ℝ)‖₊ = x :=
   NNReal.eq <| Real.norm_of_nonneg x.2
@@ -1283,12 +905,6 @@ theorem nnnorm_eq (x : ℝ≥0) : ‖(x : ℝ)‖₊ = x :=
 
 end NNReal
 
-/- warning: norm_norm -> norm_norm is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} α] (x : α), Eq.{1} Real (Norm.norm.{0} Real Real.hasNorm (Norm.norm.{u1} α (SeminormedAddCommGroup.toHasNorm.{u1} α _inst_1) x)) (Norm.norm.{u1} α (SeminormedAddCommGroup.toHasNorm.{u1} α _inst_1) x)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} α] (x : α), Eq.{1} Real (Norm.norm.{0} Real Real.norm (Norm.norm.{u1} α (SeminormedAddCommGroup.toNorm.{u1} α _inst_1) x)) (Norm.norm.{u1} α (SeminormedAddCommGroup.toNorm.{u1} α _inst_1) x)
-Case conversion may be inaccurate. Consider using '#align norm_norm norm_normₓ'. -/
 @[simp]
 theorem norm_norm [SeminormedAddCommGroup α] (x : α) : ‖‖x‖‖ = ‖x‖ :=
   Real.norm_of_nonneg (norm_nonneg _)
@@ -1301,12 +917,6 @@ theorem nnnorm_norm [SeminormedAddCommGroup α] (a : α) : ‖‖a‖‖₊ = 
 #align nnnorm_norm nnnorm_norm
 -/
 
-/- warning: normed_add_comm_group.tendsto_at_top -> NormedAddCommGroup.tendsto_atTop is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Nonempty.{succ u1} α] [_inst_2 : SemilatticeSup.{u1} α] {β : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u1, u2} α β f (Filter.atTop.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) (nhds.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} β _inst_3))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} α (fun (N : α) => forall (n : α), (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) N n) -> (LT.lt.{0} Real Real.hasLt (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_3) (HSub.hSub.{u2, u2, u2} β β β (instHSub.{u2} β (SubNegMonoid.toHasSub.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_3))))) (f n) b)) ε))))
-but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : Nonempty.{succ u2} α] [_inst_2 : SemilatticeSup.{u2} α] {β : Type.{u1}} [_inst_3 : SeminormedAddCommGroup.{u1} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u2, u1} α β f (Filter.atTop.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) (nhds.{u1} β (UniformSpace.toTopologicalSpace.{u1} β (PseudoMetricSpace.toUniformSpace.{u1} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} β _inst_3))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) -> (Exists.{succ u2} α (fun (N : α) => forall (n : α), (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) N n) -> (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} β (SeminormedAddCommGroup.toNorm.{u1} β _inst_3) (HSub.hSub.{u1, u1, u1} β β β (instHSub.{u1} β (SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (SeminormedAddGroup.toAddGroup.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β _inst_3))))) (f n) b)) ε))))
-Case conversion may be inaccurate. Consider using '#align normed_add_comm_group.tendsto_at_top NormedAddCommGroup.tendsto_atTopₓ'. -/
 /-- A restatement of `metric_space.tendsto_at_top` in terms of the norm. -/
 theorem NormedAddCommGroup.tendsto_atTop [Nonempty α] [SemilatticeSup α] {β : Type _}
     [SeminormedAddCommGroup β] {f : α → β} {b : β} :
@@ -1314,12 +924,6 @@ theorem NormedAddCommGroup.tendsto_atTop [Nonempty α] [SemilatticeSup α] {β :
   (atTop_basis.tendsto_iffₓ Metric.nhds_basis_ball).trans (by simp [dist_eq_norm])
 #align normed_add_comm_group.tendsto_at_top NormedAddCommGroup.tendsto_atTop
 
-/- warning: normed_add_comm_group.tendsto_at_top' -> NormedAddCommGroup.tendsto_atTop' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Nonempty.{succ u1} α] [_inst_2 : SemilatticeSup.{u1} α] [_inst_3 : NoMaxOrder.{u1} α (Preorder.toHasLt.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2)))] {β : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u1, u2} α β f (Filter.atTop.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) (nhds.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} β _inst_4))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} α (fun (N : α) => forall (n : α), (LT.lt.{u1} α (Preorder.toHasLt.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) N n) -> (LT.lt.{0} Real Real.hasLt (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_4) (HSub.hSub.{u2, u2, u2} β β β (instHSub.{u2} β (SubNegMonoid.toHasSub.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_4))))) (f n) b)) ε))))
-but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : Nonempty.{succ u2} α] [_inst_2 : SemilatticeSup.{u2} α] [_inst_3 : NoMaxOrder.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2)))] {β : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u2, u1} α β f (Filter.atTop.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) (nhds.{u1} β (UniformSpace.toTopologicalSpace.{u1} β (PseudoMetricSpace.toUniformSpace.{u1} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} β _inst_4))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) -> (Exists.{succ u2} α (fun (N : α) => forall (n : α), (LT.lt.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) N n) -> (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} β (SeminormedAddCommGroup.toNorm.{u1} β _inst_4) (HSub.hSub.{u1, u1, u1} β β β (instHSub.{u1} β (SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (SeminormedAddGroup.toAddGroup.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β _inst_4))))) (f n) b)) ε))))
-Case conversion may be inaccurate. Consider using '#align normed_add_comm_group.tendsto_at_top' NormedAddCommGroup.tendsto_atTop'ₓ'. -/
 /-- A variant of `normed_add_comm_group.tendsto_at_top` that
 uses `∃ N, ∀ n > N, ...` rather than `∃ N, ∀ n ≥ N, ...`
 -/
@@ -1477,12 +1081,6 @@ def NormedField.induced [Field R] [NormedField S] [NonUnitalRingHomClass F R S]
 #align normed_field.induced NormedField.induced
 -/
 
-/- warning: norm_one_class.induced -> NormOneClass.induced is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} (R : Type.{u2}) (S : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : SeminormedRing.{u3} S] [_inst_3 : NormOneClass.{u3} S (SeminormedRing.toHasNorm.{u3} S _inst_2) (AddMonoidWithOne.toOne.{u3} S (AddGroupWithOne.toAddMonoidWithOne.{u3} S (AddCommGroupWithOne.toAddGroupWithOne.{u3} S (Ring.toAddCommGroupWithOne.{u3} S (SeminormedRing.toRing.{u3} S _inst_2)))))] [_inst_4 : RingHomClass.{u1, u2, u3} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2)))] (f : F), NormOneClass.{u2} R (SeminormedRing.toHasNorm.{u2} R (SeminormedRing.induced.{u1, u2, u3} F R S _inst_1 _inst_2 (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2))) _inst_4) f)) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R _inst_1))))
-but is expected to have type
-  forall {F : Type.{u3}} (R : Type.{u2}) (S : Type.{u1}) [_inst_1 : Ring.{u2} R] [_inst_2 : SeminormedRing.{u1} S] [_inst_3 : NormOneClass.{u1} S (SeminormedRing.toNorm.{u1} S _inst_2) (Semiring.toOne.{u1} S (Ring.toSemiring.{u1} S (SeminormedRing.toRing.{u1} S _inst_2)))] [_inst_4 : RingHomClass.{u3, u2, u1} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (SeminormedRing.toRing.{u1} S _inst_2)))] (f : F), NormOneClass.{u2} R (SeminormedRing.toNorm.{u2} R (SeminormedRing.induced.{u3, u2, u1} F R S _inst_1 _inst_2 (RingHomClass.toNonUnitalRingHomClass.{u3, u2, u1} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (SeminormedRing.toRing.{u1} S _inst_2))) _inst_4) f)) (Semiring.toOne.{u2} R (Ring.toSemiring.{u2} R _inst_1))
-Case conversion may be inaccurate. Consider using '#align norm_one_class.induced NormOneClass.inducedₓ'. -/
 /-- A ring homomorphism from a `ring R` to a `semi_normed_ring S` which induces the norm structure
 `semi_normed_ring.induced` makes `R` satisfy `‖(1 : R)‖ = 1` whenever `‖(1 : S)‖ = 1`. -/
 theorem NormOneClass.induced {F : Type _} (R S : Type _) [Ring R] [SeminormedRing S]
Diff
@@ -313,10 +313,8 @@ but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (x : α) (y : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) y) (NonUnitalSeminormedRing.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) y) _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))) x) y)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) x) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) y))
 Case conversion may be inaccurate. Consider using '#align mul_right_bound mulRight_boundₓ'. -/
 /-- In a seminormed ring, the right-multiplication `add_monoid_hom` is bounded. -/
-theorem mulRight_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulRight x y‖ ≤ ‖x‖ * ‖y‖ := fun y =>
-  by
-  rw [mul_comm]
-  convert norm_mul_le y x
+theorem mulRight_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulRight x y‖ ≤ ‖x‖ * ‖y‖ := fun y => by
+  rw [mul_comm]; convert norm_mul_le y x
 #align mul_right_bound mulRight_bound
 
 instance : NonUnitalSeminormedRing (ULift α) :=
@@ -709,8 +707,7 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing
         convert((continuous_fst.tendsto x).norm.mul
                 ((continuous_snd.tendsto x).sub tendsto_const_nhds).norm).add
             (((continuous_fst.tendsto x).sub tendsto_const_nhds).norm.mul _)
-        show tendsto _ _ _
-        exact tendsto_const_nhds
+        show tendsto _ _ _; exact tendsto_const_nhds
         simp⟩
 #align semi_normed_ring_top_monoid semi_normed_ring_top_monoid
 
@@ -907,9 +904,7 @@ but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {z : α} {w : α}, (Ne.{succ u1} α z (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Ne.{succ u1} α w (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Eq.{1} NNReal (NNDist.nndist.{u1} α (PseudoMetricSpace.toNNDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) z) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) w)) (HDiv.hDiv.{0, 0, 0} NNReal NNReal NNReal (instHDiv.{0} NNReal (CanonicallyLinearOrderedSemifield.toDiv.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)) (NNDist.nndist.{u1} α (PseudoMetricSpace.toNNDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) z w) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) z) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) w))))
 Case conversion may be inaccurate. Consider using '#align nndist_inv_inv₀ nndist_inv_inv₀ₓ'. -/
 theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
-    nndist z⁻¹ w⁻¹ = nndist z w / (‖z‖₊ * ‖w‖₊) :=
-  by
-  rw [← NNReal.coe_eq]
+    nndist z⁻¹ w⁻¹ = nndist z w / (‖z‖₊ * ‖w‖₊) := by rw [← NNReal.coe_eq];
   simp [-NNReal.coe_eq, dist_inv_inv₀ hz hw]
 #align nndist_inv_inv₀ nndist_inv_inv₀
 
@@ -1350,9 +1345,7 @@ instance : NormedField ℚ :=
 instance : DenselyNormedField ℚ
     where lt_norm_lt r₁ r₂ h₀ hr :=
     let ⟨q, h⟩ := exists_rat_btwn hr
-    ⟨q, by
-      unfold norm
-      rwa [abs_of_pos (h₀.trans_lt h.1)]⟩
+    ⟨q, by unfold norm; rwa [abs_of_pos (h₀.trans_lt h.1)]⟩
 
 section RingHomIsometric
 
@@ -1394,9 +1387,7 @@ See note [reducible non-instances] -/
 def NonUnitalSeminormedRing.induced [NonUnitalRing R] [NonUnitalSeminormedRing S]
     [NonUnitalRingHomClass F R S] (f : F) : NonUnitalSeminormedRing R :=
   { SeminormedAddCommGroup.induced R S f with
-    norm_mul := fun x y => by
-      unfold norm
-      exact (map_mul f x y).symm ▸ norm_mul_le (f x) (f y) }
+    norm_mul := fun x y => by unfold norm; exact (map_mul f x y).symm ▸ norm_mul_le (f x) (f y) }
 #align non_unital_semi_normed_ring.induced NonUnitalSeminormedRing.induced
 -/
 
@@ -1470,9 +1461,7 @@ See note [reducible non-instances] -/
 def NormedDivisionRing.induced [DivisionRing R] [NormedDivisionRing S] [NonUnitalRingHomClass F R S]
     (f : F) (hf : Function.Injective f) : NormedDivisionRing R :=
   { NormedAddCommGroup.induced R S f hf with
-    norm_mul' := fun x y => by
-      unfold norm
-      exact (map_mul f x y).symm ▸ norm_mul (f x) (f y) }
+    norm_mul' := fun x y => by unfold norm; exact (map_mul f x y).symm ▸ norm_mul (f x) (f y) }
 #align normed_division_ring.induced NormedDivisionRing.induced
 -/
 
Diff
@@ -917,7 +917,7 @@ theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Filter.Tendsto.{u1, u1} α α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5143 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5145 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5143 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5145) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5145 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5147 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5145 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5147) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto_mul_left_cobounded Filter.tendsto_mul_left_coboundedₓ'. -/
 /-- Multiplication on the left by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
Diff
@@ -982,7 +982,7 @@ instance (priority := 100) NormedDivisionRing.to_topologicalDivisionRing : Topol
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedDivisionRing.{u1} α] [_inst_2 : Monoid.{u2} β] (φ : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) {x : β} {k : PNat}, (Eq.{succ u2} β (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β _inst_2)) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) PNat Nat (HasLiftT.mk.{1, 1} PNat Nat (CoeTCₓ.coe.{1, 1} PNat Nat (coeBase.{1, 1} PNat Nat coePNatNat))) k)) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β (MulOneClass.toHasOne.{u2} β (Monoid.toMulOneClass.{u2} β _inst_2)))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) (fun (_x : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) => β -> α) (MonoidHom.hasCoeToFun.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) φ x)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedDivisionRing.{u1} α] [_inst_2 : Monoid.{u2} β] (φ : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) {x : β} {k : PNat}, (Eq.{succ u2} β (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β _inst_2)) x (PNat.val k)) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Monoid.toOne.{u2} β _inst_2)))) -> (Eq.{1} Real (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) x) (NormedDivisionRing.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) x) _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β α (MulOneClass.toMul.{u2} β (Monoid.toMulOneClass.{u2} β _inst_2)) (MulOneClass.toMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))) (MonoidHom.monoidHomClass.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))))) φ x)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedDivisionRing.{u1} α] [_inst_2 : Monoid.{u2} β] (φ : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) {x : β} {k : PNat}, (Eq.{succ u2} β (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β _inst_2)) x (PNat.val k)) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Monoid.toOne.{u2} β _inst_2)))) -> (Eq.{1} Real (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : β) => α) x) (NormedDivisionRing.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : β) => α) x) _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : β) => α) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β α (MulOneClass.toMul.{u2} β (Monoid.toMulOneClass.{u2} β _inst_2)) (MulOneClass.toMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))) (MonoidHom.monoidHomClass.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))))) φ x)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
 Case conversion may be inaccurate. Consider using '#align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_oneₓ'. -/
 theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ (k : ℕ) = 1) :
     ‖φ x‖ = 1 :=
Diff
@@ -240,7 +240,7 @@ theorem norm_mul_le (a b : α) : ‖a * b‖ ≤ ‖a‖ * ‖b‖ :=
 
 /- warning: nnnorm_mul_le -> nnnorm_mul_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (a : α) (b : α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) a 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))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) b))
+  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (a : α) (b : α), LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) a 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))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) b))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (a : α) (b : α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))) a b)) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) b))
 Case conversion may be inaccurate. Consider using '#align nnnorm_mul_le nnnorm_mul_leₓ'. -/
@@ -262,7 +262,7 @@ theorem one_le_norm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)
 
 /- warning: one_le_nnnorm_one -> one_le_nnnorm_one is a dubious translation:
 lean 3 declaration is
-  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (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))))))) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (AddCommGroupWithOne.toAddGroupWithOne.{u1} β (Ring.toAddCommGroupWithOne.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
+  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (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))))))) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (AddCommGroupWithOne.toAddGroupWithOne.{u1} β (Ring.toAddCommGroupWithOne.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
 but is expected to have type
   forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} NNReal 1 (One.toOfNat1.{0} NNReal instNNRealOne)) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (Semiring.toOne.{u1} β (Ring.toSemiring.{u1} β (NormedRing.toRing.{u1} β _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align one_le_nnnorm_one one_le_nnnorm_oneₓ'. -/
@@ -436,7 +436,7 @@ theorem List.norm_prod_le' : ∀ {l : List α}, l ≠ [] → ‖l.Prod‖ ≤ (l
 
 /- warning: list.nnnorm_prod_le' -> List.nnnorm_prod_le' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
 Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod_le' List.nnnorm_prod_le'ₓ'. -/
@@ -458,7 +458,7 @@ theorem List.norm_prod_le [NormOneClass α] : ∀ l : List α, ‖l.Prod‖ ≤
 
 /- warning: list.nnnorm_prod_le -> List.nnnorm_prod_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
 Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod_le List.nnnorm_prod_leₓ'. -/
@@ -482,7 +482,7 @@ theorem Finset.norm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (
 
 /- warning: finset.nnnorm_prod_le' -> Finset.nnnorm_prod_le' is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] (s : Finset.{u1} ι), (Finset.Nonempty.{u1} ι s) -> (forall (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i))))
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] (s : Finset.{u1} ι), (Finset.Nonempty.{u1} ι s) -> (forall (f : ι -> α), LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i))))
 but is expected to have type
   forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] (s : Finset.{u1} ι), (Finset.Nonempty.{u1} ι s) -> (forall (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (LinearOrderedCommMonoid.toCommMonoid.{0} NNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} NNReal (LinearOrderedCommGroupWithZero.toLinearOrderedCommMonoidWithZero.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)))) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i))))
 Case conversion may be inaccurate. Consider using '#align finset.nnnorm_prod_le' Finset.nnnorm_prod_le'ₓ'. -/
@@ -506,7 +506,7 @@ theorem Finset.norm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α]
 
 /- warning: finset.nnnorm_prod_le -> Finset.nnnorm_prod_le is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (AddCommGroupWithOne.toAddGroupWithOne.{u2} α (Ring.toAddCommGroupWithOne.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (AddCommGroupWithOne.toAddGroupWithOne.{u2} α (Ring.toAddCommGroupWithOne.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
 but is expected to have type
   forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Semiring.toOne.{u2} α (CommSemiring.toSemiring.{u2} α (CommRing.toCommSemiring.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2)))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (LinearOrderedCommMonoid.toCommMonoid.{0} NNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} NNReal (LinearOrderedCommGroupWithZero.toLinearOrderedCommMonoidWithZero.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)))) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
 Case conversion may be inaccurate. Consider using '#align finset.nnnorm_prod_le Finset.nnnorm_prod_leₓ'. -/
@@ -517,7 +517,7 @@ theorem Finset.nnnorm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α
 
 /- warning: nnnorm_pow_le' -> nnnorm_pow_le' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α) {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α) {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α) {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n))
 Case conversion may be inaccurate. Consider using '#align nnnorm_pow_le' nnnorm_pow_le'ₓ'. -/
@@ -532,7 +532,7 @@ theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ 
 
 /- warning: nnnorm_pow_le -> nnnorm_pow_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toHasLe.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
 Case conversion may be inaccurate. Consider using '#align nnnorm_pow_le nnnorm_pow_leₓ'. -/
@@ -650,7 +650,7 @@ theorem Units.norm_pos [Nontrivial α] (x : αˣ) : 0 < ‖(x : α)‖ :=
 
 /- warning: units.nnnorm_pos -> Units.nnnorm_pos is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedRing.{u1} α] [_inst_2 : Nontrivial.{u1} α] (x : Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))), LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (OfNat.ofNat.{0} NNReal 0 (OfNat.mk.{0} NNReal 0 (Zero.zero.{0} NNReal (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (coeBase.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (Units.hasCoe.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1)))))) x))
+  forall {α : Type.{u1}} [_inst_1 : NormedRing.{u1} α] [_inst_2 : Nontrivial.{u1} α] (x : Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))), LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (OfNat.ofNat.{0} NNReal 0 (OfNat.mk.{0} NNReal 0 (Zero.zero.{0} NNReal (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (coeBase.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (Units.hasCoe.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1)))))) x))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : NormedRing.{u1} α] [_inst_2 : Nontrivial.{u1} α] (x : Units.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (NormedRing.toRing.{u1} α _inst_1))))), LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} NNReal 0 (Zero.toOfNat0.{0} NNReal instNNRealZero)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α _inst_1))))) (Units.val.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (NormedRing.toRing.{u1} α _inst_1)))) x))
 Case conversion may be inaccurate. Consider using '#align units.nnnorm_pos Units.nnnorm_posₓ'. -/
@@ -1172,11 +1172,15 @@ theorem exists_lt_norm_lt {r₁ r₂ : ℝ} (h₀ : 0 ≤ r₁) (h : r₁ < r₂
   DenselyNormedField.lt_norm_lt r₁ r₂ h₀ h
 #align normed_field.exists_lt_norm_lt NormedField.exists_lt_norm_lt
 
-#print NormedField.exists_lt_nnnorm_lt /-
+/- warning: normed_field.exists_lt_nnnorm_lt -> NormedField.exists_lt_nnnorm_lt is a dubious translation:
+lean 3 declaration is
+  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α] {r₁ : NNReal} {r₂ : NNReal}, (LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) r₁ r₂) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) r₁ (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))) x)) (LT.lt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))) x) r₂)))
+but is expected to have type
+  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α] {r₁ : NNReal} {r₂ : NNReal}, (LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) r₁ r₂) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) r₁ (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))) x)) (LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))) x) r₂)))
+Case conversion may be inaccurate. Consider using '#align normed_field.exists_lt_nnnorm_lt NormedField.exists_lt_nnnorm_ltₓ'. -/
 theorem exists_lt_nnnorm_lt {r₁ r₂ : ℝ≥0} (h : r₁ < r₂) : ∃ x : α, r₁ < ‖x‖₊ ∧ ‖x‖₊ < r₂ := by
   exact_mod_cast exists_lt_norm_lt α r₁.prop h
 #align normed_field.exists_lt_nnnorm_lt NormedField.exists_lt_nnnorm_lt
--/
 
 /- warning: normed_field.densely_ordered_range_norm -> NormedField.denselyOrdered_range_norm is a dubious translation:
 lean 3 declaration is
@@ -1192,7 +1196,12 @@ instance denselyOrdered_range_norm : DenselyOrdered (Set.range (norm : α → 
       ⟨⟨‖z‖, z, rfl⟩, h⟩
 #align normed_field.densely_ordered_range_norm NormedField.denselyOrdered_range_norm
 
-#print NormedField.denselyOrdered_range_nnnorm /-
+/- warning: normed_field.densely_ordered_range_nnnorm -> NormedField.denselyOrdered_range_nnnorm is a dubious translation:
+lean 3 declaration is
+  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenselyOrdered.{0} (coeSort.{1, 2} (Set.{0} NNReal) Type (Set.hasCoeToSort.{0} NNReal) (Set.range.{0, succ u1} NNReal α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))))))) (Subtype.hasLt.{0} NNReal (Preorder.toHasLt.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (fun (x : NNReal) => Membership.Mem.{0, 0} NNReal (Set.{0} NNReal) (Set.hasMem.{0} NNReal) x (Set.range.{0, succ u1} NNReal α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))))))))
+but is expected to have type
+  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenselyOrdered.{0} (Set.Elem.{0} NNReal (Set.range.{0, succ u1} NNReal α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))))))) (Subtype.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (fun (x : NNReal) => Membership.mem.{0, 0} NNReal (Set.{0} NNReal) (Set.instMembershipSet.{0} NNReal) x (Set.range.{0, succ u1} NNReal α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))))))))
+Case conversion may be inaccurate. Consider using '#align normed_field.densely_ordered_range_nnnorm NormedField.denselyOrdered_range_nnnormₓ'. -/
 instance denselyOrdered_range_nnnorm : DenselyOrdered (Set.range (nnnorm : α → ℝ≥0))
     where dense := by
     rintro ⟨-, x, rfl⟩ ⟨-, y, rfl⟩ hxy
@@ -1200,7 +1209,6 @@ instance denselyOrdered_range_nnnorm : DenselyOrdered (Set.range (nnnorm : α 
       let ⟨z, h⟩ := exists_lt_nnnorm_lt α hxy
       ⟨⟨‖z‖₊, z, rfl⟩, h⟩
 #align normed_field.densely_ordered_range_nnnorm NormedField.denselyOrdered_range_nnnorm
--/
 
 /- warning: normed_field.dense_range_nnnorm -> NormedField.denseRange_nnnorm is a dubious translation:
 lean 3 declaration is
@@ -1300,7 +1308,7 @@ theorem nnnorm_norm [SeminormedAddCommGroup α] (a : α) : ‖‖a‖‖₊ = 
 
 /- warning: normed_add_comm_group.tendsto_at_top -> NormedAddCommGroup.tendsto_atTop is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Nonempty.{succ u1} α] [_inst_2 : SemilatticeSup.{u1} α] {β : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u1, u2} α β f (Filter.atTop.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) (nhds.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} β _inst_3))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} α (fun (N : α) => forall (n : α), (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) N n) -> (LT.lt.{0} Real Real.hasLt (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_3) (HSub.hSub.{u2, u2, u2} β β β (instHSub.{u2} β (SubNegMonoid.toHasSub.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_3))))) (f n) b)) ε))))
+  forall {α : Type.{u1}} [_inst_1 : Nonempty.{succ u1} α] [_inst_2 : SemilatticeSup.{u1} α] {β : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u1, u2} α β f (Filter.atTop.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) (nhds.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} β _inst_3))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} α (fun (N : α) => forall (n : α), (LE.le.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) N n) -> (LT.lt.{0} Real Real.hasLt (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_3) (HSub.hSub.{u2, u2, u2} β β β (instHSub.{u2} β (SubNegMonoid.toHasSub.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_3))))) (f n) b)) ε))))
 but is expected to have type
   forall {α : Type.{u2}} [_inst_1 : Nonempty.{succ u2} α] [_inst_2 : SemilatticeSup.{u2} α] {β : Type.{u1}} [_inst_3 : SeminormedAddCommGroup.{u1} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u2, u1} α β f (Filter.atTop.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) (nhds.{u1} β (UniformSpace.toTopologicalSpace.{u1} β (PseudoMetricSpace.toUniformSpace.{u1} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} β _inst_3))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) -> (Exists.{succ u2} α (fun (N : α) => forall (n : α), (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) N n) -> (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} β (SeminormedAddCommGroup.toNorm.{u1} β _inst_3) (HSub.hSub.{u1, u1, u1} β β β (instHSub.{u1} β (SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (SeminormedAddGroup.toAddGroup.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β _inst_3))))) (f n) b)) ε))))
 Case conversion may be inaccurate. Consider using '#align normed_add_comm_group.tendsto_at_top NormedAddCommGroup.tendsto_atTopₓ'. -/
@@ -1313,7 +1321,7 @@ theorem NormedAddCommGroup.tendsto_atTop [Nonempty α] [SemilatticeSup α] {β :
 
 /- warning: normed_add_comm_group.tendsto_at_top' -> NormedAddCommGroup.tendsto_atTop' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Nonempty.{succ u1} α] [_inst_2 : SemilatticeSup.{u1} α] [_inst_3 : NoMaxOrder.{u1} α (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2)))] {β : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u1, u2} α β f (Filter.atTop.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) (nhds.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} β _inst_4))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} α (fun (N : α) => forall (n : α), (LT.lt.{u1} α (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) N n) -> (LT.lt.{0} Real Real.hasLt (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_4) (HSub.hSub.{u2, u2, u2} β β β (instHSub.{u2} β (SubNegMonoid.toHasSub.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_4))))) (f n) b)) ε))))
+  forall {α : Type.{u1}} [_inst_1 : Nonempty.{succ u1} α] [_inst_2 : SemilatticeSup.{u1} α] [_inst_3 : NoMaxOrder.{u1} α (Preorder.toHasLt.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2)))] {β : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u1, u2} α β f (Filter.atTop.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) (nhds.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} β _inst_4))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} α (fun (N : α) => forall (n : α), (LT.lt.{u1} α (Preorder.toHasLt.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) N n) -> (LT.lt.{0} Real Real.hasLt (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_4) (HSub.hSub.{u2, u2, u2} β β β (instHSub.{u2} β (SubNegMonoid.toHasSub.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_4))))) (f n) b)) ε))))
 but is expected to have type
   forall {α : Type.{u2}} [_inst_1 : Nonempty.{succ u2} α] [_inst_2 : SemilatticeSup.{u2} α] [_inst_3 : NoMaxOrder.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2)))] {β : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u2, u1} α β f (Filter.atTop.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) (nhds.{u1} β (UniformSpace.toTopologicalSpace.{u1} β (PseudoMetricSpace.toUniformSpace.{u1} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} β _inst_4))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) -> (Exists.{succ u2} α (fun (N : α) => forall (n : α), (LT.lt.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) N n) -> (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} β (SeminormedAddCommGroup.toNorm.{u1} β _inst_4) (HSub.hSub.{u1, u1, u1} β β β (instHSub.{u1} β (SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (SeminormedAddGroup.toAddGroup.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β _inst_4))))) (f n) b)) ε))))
 Case conversion may be inaccurate. Consider using '#align normed_add_comm_group.tendsto_at_top' NormedAddCommGroup.tendsto_atTop'ₓ'. -/
Diff
@@ -917,7 +917,7 @@ theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Filter.Tendsto.{u1, u1} α α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5149 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5151 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5149 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5151) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5143 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5145 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5143 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5145) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto_mul_left_cobounded Filter.tendsto_mul_left_coboundedₓ'. -/
 /-- Multiplication on the left by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
Diff
@@ -917,7 +917,7 @@ theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Filter.Tendsto.{u1, u1} α α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5231 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5233 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5231 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5233) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5149 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5151 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5149 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5151) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto_mul_left_cobounded Filter.tendsto_mul_left_coboundedₓ'. -/
 /-- Multiplication on the left by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
Diff
@@ -253,7 +253,7 @@ theorem nnnorm_mul_le (a b : α) : ‖a * b‖₊ ≤ ‖a‖₊ * ‖b‖₊ :=
 lean 3 declaration is
   forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Norm.norm.{u1} β (NormedRing.toHasNorm.{u1} β _inst_2) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (AddCommGroupWithOne.toAddGroupWithOne.{u1} β (Ring.toAddCommGroupWithOne.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
 but is expected to have type
-  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} β (NormedRing.toNorm.{u1} β _inst_2) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (NonAssocRing.toOne.{u1} β (Ring.toNonAssocRing.{u1} β (NormedRing.toRing.{u1} β _inst_2))))))
+  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} β (NormedRing.toNorm.{u1} β _inst_2) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (Semiring.toOne.{u1} β (Ring.toSemiring.{u1} β (NormedRing.toRing.{u1} β _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align one_le_norm_one one_le_norm_oneₓ'. -/
 theorem one_le_norm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)‖ :=
   (le_mul_iff_one_le_left <| norm_pos_iff.mpr (one_ne_zero : (1 : β) ≠ 0)).mp
@@ -264,7 +264,7 @@ theorem one_le_norm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)
 lean 3 declaration is
   forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (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))))))) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (AddCommGroupWithOne.toAddGroupWithOne.{u1} β (Ring.toAddCommGroupWithOne.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
 but is expected to have type
-  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} NNReal 1 (One.toOfNat1.{0} NNReal instNNRealOne)) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (NonAssocRing.toOne.{u1} β (Ring.toNonAssocRing.{u1} β (NormedRing.toRing.{u1} β _inst_2))))))
+  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} NNReal 1 (One.toOfNat1.{0} NNReal instNNRealOne)) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (Semiring.toOne.{u1} β (Ring.toSemiring.{u1} β (NormedRing.toRing.{u1} β _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align one_le_nnnorm_one one_le_nnnorm_oneₓ'. -/
 theorem one_le_nnnorm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)‖₊ :=
   one_le_norm_one β
@@ -408,7 +408,7 @@ instance Subalgebra.normedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type _}
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat α (HasLiftT.mk.{1, succ u1} Nat α (CoeTCₓ.coe.{1, succ u1} Nat α (Nat.castCoe.{u1} α (AddMonoidWithOne.toNatCast.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))))) n)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) ((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) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))))))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Nat.cast.{u1} α (NonAssocRing.toNatCast.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) n)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Nat.cast.{0} Real Real.natCast n) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Nat.cast.{u1} α (Semiring.toNatCast.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) n)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Nat.cast.{0} Real Real.natCast n) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))))
 Case conversion may be inaccurate. Consider using '#align nat.norm_cast_le Nat.norm_cast_leₓ'. -/
 theorem Nat.norm_cast_le : ∀ n : ℕ, ‖(n : α)‖ ≤ n * ‖(1 : α)‖
   | 0 => by simp
@@ -421,7 +421,7 @@ theorem Nat.norm_cast_le : ∀ n : ℕ, ‖(n : α)‖ ≤ n * ‖(1 : α)‖
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1)) l)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1)) l)))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1)) l)))
 Case conversion may be inaccurate. Consider using '#align list.norm_prod_le' List.norm_prod_le'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
@@ -438,7 +438,7 @@ theorem List.norm_prod_le' : ∀ {l : List α}, l ≠ [] → ‖l.Prod‖ ≤ (l
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
 Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod_le' List.nnnorm_prod_le'ₓ'. -/
 theorem List.nnnorm_prod_le' {l : List α} (hl : l ≠ []) : ‖l.Prod‖₊ ≤ (l.map nnnorm).Prod :=
   (List.norm_prod_le' hl).trans_eq <| by simp [NNReal.coe_list_prod, List.map_map]
@@ -448,7 +448,7 @@ theorem List.nnnorm_prod_le' {l : List α} (hl : l ≠ []) : ‖l.Prod‖₊ ≤
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1)) l))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (l : List.{u1} α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1)) l))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (l : List.{u1} α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1)) l))
 Case conversion may be inaccurate. Consider using '#align list.norm_prod_le List.norm_prod_leₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem List.norm_prod_le [NormOneClass α] : ∀ l : List α, ‖l.Prod‖ ≤ (l.map norm).Prod
@@ -460,7 +460,7 @@ theorem List.norm_prod_le [NormOneClass α] : ∀ l : List α, ‖l.Prod‖ ≤
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
 Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod_le List.nnnorm_prod_leₓ'. -/
 theorem List.nnnorm_prod_le [NormOneClass α] (l : List α) : ‖l.Prod‖₊ ≤ (l.map nnnorm).Prod :=
   l.norm_prod_le.trans_eq <| by simp [NNReal.coe_list_prod, List.map_map]
@@ -495,7 +495,7 @@ theorem Finset.nnnorm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι)
 lean 3 declaration is
   forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (AddCommGroupWithOne.toAddGroupWithOne.{u2} α (Ring.toAddCommGroupWithOne.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.commMonoid s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i)))
 but is expected to have type
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (NonAssocRing.toOne.{u2} α (Ring.toNonAssocRing.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.instCommMonoidReal s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i)))
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Semiring.toOne.{u2} α (CommSemiring.toSemiring.{u2} α (CommRing.toCommSemiring.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2)))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.instCommMonoidReal s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i)))
 Case conversion may be inaccurate. Consider using '#align finset.norm_prod_le Finset.norm_prod_leₓ'. -/
 theorem Finset.norm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
     (f : ι → α) : ‖∏ i in s, f i‖ ≤ ∏ i in s, ‖f i‖ :=
@@ -508,7 +508,7 @@ theorem Finset.norm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α]
 lean 3 declaration is
   forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (AddCommGroupWithOne.toAddGroupWithOne.{u2} α (Ring.toAddCommGroupWithOne.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
 but is expected to have type
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (NonAssocRing.toOne.{u2} α (Ring.toNonAssocRing.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (LinearOrderedCommMonoid.toCommMonoid.{0} NNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} NNReal (LinearOrderedCommGroupWithZero.toLinearOrderedCommMonoidWithZero.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)))) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Semiring.toOne.{u2} α (CommSemiring.toSemiring.{u2} α (CommRing.toCommSemiring.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2)))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (LinearOrderedCommMonoid.toCommMonoid.{0} NNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} NNReal (LinearOrderedCommGroupWithZero.toLinearOrderedCommMonoidWithZero.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)))) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
 Case conversion may be inaccurate. Consider using '#align finset.nnnorm_prod_le Finset.nnnorm_prod_leₓ'. -/
 theorem Finset.nnnorm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
     (f : ι → α) : ‖∏ i in s, f i‖₊ ≤ ∏ i in s, ‖f i‖₊ :=
@@ -534,7 +534,7 @@ theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ 
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
 Case conversion may be inaccurate. Consider using '#align nnnorm_pow_le nnnorm_pow_leₓ'. -/
 /-- If `α` is a seminormed ring with `‖1‖₊ = 1`, then `‖a ^ n‖₊ ≤ ‖a‖₊ ^ n`.
 See also `nnnorm_pow_le'`.-/
@@ -557,7 +557,7 @@ theorem norm_pow_le' (a : α) {n : ℕ} (h : 0 < n) : ‖a ^ n‖ ≤ ‖a‖ ^
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) a) n)
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (a : α) (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) a) n)
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (a : α) (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) a) n)
 Case conversion may be inaccurate. Consider using '#align norm_pow_le norm_pow_leₓ'. -/
 /-- If `α` is a seminormed ring with `‖1‖ = 1`, then `‖a ^ n‖ ≤ ‖a‖ ^ n`. See also `norm_pow_le'`.-/
 theorem norm_pow_le [NormOneClass α] (a : α) (n : ℕ) : ‖a ^ n‖ ≤ ‖a‖ ^ n :=
@@ -741,7 +741,7 @@ theorem norm_mul (a b : α) : ‖a * b‖ = ‖a‖ * ‖b‖ :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], NormOneClass.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], NormOneClass.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], NormOneClass.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (Semiring.toOne.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))
 Case conversion may be inaccurate. Consider using '#align normed_division_ring.to_norm_one_class NormedDivisionRing.to_normOneClassₓ'. -/
 instance (priority := 900) NormedDivisionRing.to_normOneClass : NormOneClass α :=
   ⟨mul_left_cancel₀ (mt norm_eq_zero.1 (one_ne_zero' α)) <| by rw [← norm_mul, mul_one, mul_one]⟩
@@ -810,7 +810,7 @@ theorem nnnorm_pow (a : α) (n : ℕ) : ‖a ^ n‖₊ = ‖a‖₊ ^ n :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) l))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) l))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) (Semiring.toOne.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) l))
 Case conversion may be inaccurate. Consider using '#align list.norm_prod List.norm_prodₓ'. -/
 protected theorem List.norm_prod (l : List α) : ‖l.Prod‖ = (l.map norm).Prod :=
   (normHom.toMonoidHom : α →* ℝ).map_list_prod _
@@ -820,7 +820,7 @@ protected theorem List.norm_prod (l : List α) : ‖l.Prod‖ = (l.map norm).Pro
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) l))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) l))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) (Semiring.toOne.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) l))
 Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod List.nnnorm_prodₓ'. -/
 protected theorem List.nnnorm_prod (l : List α) : ‖l.Prod‖₊ = (l.map nnnorm).Prod :=
   (nnnormHom.toMonoidHom : α →* ℝ≥0).map_list_prod _
@@ -982,7 +982,7 @@ instance (priority := 100) NormedDivisionRing.to_topologicalDivisionRing : Topol
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedDivisionRing.{u1} α] [_inst_2 : Monoid.{u2} β] (φ : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) {x : β} {k : PNat}, (Eq.{succ u2} β (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β _inst_2)) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) PNat Nat (HasLiftT.mk.{1, 1} PNat Nat (CoeTCₓ.coe.{1, 1} PNat Nat (coeBase.{1, 1} PNat Nat coePNatNat))) k)) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β (MulOneClass.toHasOne.{u2} β (Monoid.toMulOneClass.{u2} β _inst_2)))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) (fun (_x : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) => β -> α) (MonoidHom.hasCoeToFun.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) φ x)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedDivisionRing.{u1} α] [_inst_2 : Monoid.{u2} β] (φ : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) {x : β} {k : PNat}, (Eq.{succ u2} β (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β _inst_2)) x (PNat.val k)) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Monoid.toOne.{u2} β _inst_2)))) -> (Eq.{1} Real (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) x) (NormedDivisionRing.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) x) _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) β α (MulOneClass.toMul.{u2} β (Monoid.toMulOneClass.{u2} β _inst_2)) (MulOneClass.toMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (MonoidHom.monoidHomClass.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))) φ x)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedDivisionRing.{u1} α] [_inst_2 : Monoid.{u2} β] (φ : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) {x : β} {k : PNat}, (Eq.{succ u2} β (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β _inst_2)) x (PNat.val k)) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Monoid.toOne.{u2} β _inst_2)))) -> (Eq.{1} Real (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) x) (NormedDivisionRing.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) x) _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β α (MulOneClass.toMul.{u2} β (Monoid.toMulOneClass.{u2} β _inst_2)) (MulOneClass.toMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))) (MonoidHom.monoidHomClass.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))))) φ x)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
 Case conversion may be inaccurate. Consider using '#align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_oneₓ'. -/
 theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ (k : ℕ) = 1) :
     ‖φ x‖ = 1 :=
@@ -995,7 +995,7 @@ theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : 
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {x : α} {k : PNat}, (Eq.{succ u1} α (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) PNat Nat (HasLiftT.mk.{1, 1} PNat Nat (CoeTCₓ.coe.{1, 1} PNat Nat (coeBase.{1, 1} PNat Nat coePNatNat))) k)) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {x : α} {k : PNat}, (Eq.{succ u1} α (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) x (PNat.val k)) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) x) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {x : α} {k : PNat}, (Eq.{succ u1} α (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) x (PNat.val k)) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) x) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
 Case conversion may be inaccurate. Consider using '#align norm_one_of_pow_eq_one norm_one_of_pow_eq_oneₓ'. -/
 theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖x‖ = 1 :=
   norm_map_one_of_pow_eq_one (MonoidHom.id α) h
@@ -1484,7 +1484,7 @@ def NormedField.induced [Field R] [NormedField S] [NonUnitalRingHomClass F R S]
 lean 3 declaration is
   forall {F : Type.{u1}} (R : Type.{u2}) (S : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : SeminormedRing.{u3} S] [_inst_3 : NormOneClass.{u3} S (SeminormedRing.toHasNorm.{u3} S _inst_2) (AddMonoidWithOne.toOne.{u3} S (AddGroupWithOne.toAddMonoidWithOne.{u3} S (AddCommGroupWithOne.toAddGroupWithOne.{u3} S (Ring.toAddCommGroupWithOne.{u3} S (SeminormedRing.toRing.{u3} S _inst_2)))))] [_inst_4 : RingHomClass.{u1, u2, u3} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2)))] (f : F), NormOneClass.{u2} R (SeminormedRing.toHasNorm.{u2} R (SeminormedRing.induced.{u1, u2, u3} F R S _inst_1 _inst_2 (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2))) _inst_4) f)) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R _inst_1))))
 but is expected to have type
-  forall {F : Type.{u3}} (R : Type.{u2}) (S : Type.{u1}) [_inst_1 : Ring.{u2} R] [_inst_2 : SeminormedRing.{u1} S] [_inst_3 : NormOneClass.{u1} S (SeminormedRing.toNorm.{u1} S _inst_2) (NonAssocRing.toOne.{u1} S (Ring.toNonAssocRing.{u1} S (SeminormedRing.toRing.{u1} S _inst_2)))] [_inst_4 : RingHomClass.{u3, u2, u1} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u1} S (Ring.toNonAssocRing.{u1} S (SeminormedRing.toRing.{u1} S _inst_2)))] (f : F), NormOneClass.{u2} R (SeminormedRing.toNorm.{u2} R (SeminormedRing.induced.{u3, u2, u1} F R S _inst_1 _inst_2 (RingHomClass.toNonUnitalRingHomClass.{u3, u2, u1} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u1} S (Ring.toNonAssocRing.{u1} S (SeminormedRing.toRing.{u1} S _inst_2))) _inst_4) f)) (NonAssocRing.toOne.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))
+  forall {F : Type.{u3}} (R : Type.{u2}) (S : Type.{u1}) [_inst_1 : Ring.{u2} R] [_inst_2 : SeminormedRing.{u1} S] [_inst_3 : NormOneClass.{u1} S (SeminormedRing.toNorm.{u1} S _inst_2) (Semiring.toOne.{u1} S (Ring.toSemiring.{u1} S (SeminormedRing.toRing.{u1} S _inst_2)))] [_inst_4 : RingHomClass.{u3, u2, u1} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (SeminormedRing.toRing.{u1} S _inst_2)))] (f : F), NormOneClass.{u2} R (SeminormedRing.toNorm.{u2} R (SeminormedRing.induced.{u3, u2, u1} F R S _inst_1 _inst_2 (RingHomClass.toNonUnitalRingHomClass.{u3, u2, u1} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (SeminormedRing.toRing.{u1} S _inst_2))) _inst_4) f)) (Semiring.toOne.{u2} R (Ring.toSemiring.{u2} R _inst_1))
 Case conversion may be inaccurate. Consider using '#align norm_one_class.induced NormOneClass.inducedₓ'. -/
 /-- A ring homomorphism from a `ring R` to a `semi_normed_ring S` which induces the norm structure
 `semi_normed_ring.induced` makes `R` satisfy `‖(1 : R)‖ = 1` whenever `‖(1 : S)‖ = 1`. -/
Diff
@@ -380,7 +380,7 @@ variable [SeminormedRing α]
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {_x : CommRing.{u1} 𝕜} {E : Type.{u2}} [_inst_2 : SeminormedRing.{u2} E] {_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2))} (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1), SeminormedRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.setLike.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1)) s)
 but is expected to have type
-  forall {𝕜 : Type.{u1}} {_x : CommRing.{u1} 𝕜} {E : Type.{u2}} [_inst_2 : SeminormedRing.{u2} E] {_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2))} (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1), SeminormedRing.{u2} (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.instSetLikeSubalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1)) x s))
+  forall {𝕜 : Type.{u1}} [_x : CommRing.{u1} 𝕜] {E : Type.{u2}} [_inst_2 : SeminormedRing.{u2} E] [_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2))] (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1), SeminormedRing.{u2} (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.instSetLikeSubalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1)) x s))
 Case conversion may be inaccurate. Consider using '#align subalgebra.semi_normed_ring Subalgebra.seminormedRingₓ'. -/
 /-- A subalgebra of a seminormed ring is also a seminormed ring, with the restriction of the norm.
 
@@ -394,7 +394,7 @@ instance Subalgebra.seminormedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {_x : CommRing.{u1} 𝕜} {E : Type.{u2}} [_inst_2 : NormedRing.{u2} E] {_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2))} (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1), NormedRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.setLike.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1)) s)
 but is expected to have type
-  forall {𝕜 : Type.{u1}} {_x : CommRing.{u1} 𝕜} {E : Type.{u2}} [_inst_2 : NormedRing.{u2} E] {_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2))} (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1), NormedRing.{u2} (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.instSetLikeSubalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1)) x s))
+  forall {𝕜 : Type.{u1}} [_x : CommRing.{u1} 𝕜] {E : Type.{u2}} [_inst_2 : NormedRing.{u2} E] [_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2))] (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1), NormedRing.{u2} (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.instSetLikeSubalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1)) x s))
 Case conversion may be inaccurate. Consider using '#align subalgebra.normed_ring Subalgebra.normedRingₓ'. -/
 /-- A subalgebra of a normed ring is also a normed ring, with the restriction of the norm.
 
@@ -917,7 +917,7 @@ theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Filter.Tendsto.{u1, u1} α α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5225 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5227 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5225 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5227) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5231 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5233 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5231 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5233) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto_mul_left_cobounded Filter.tendsto_mul_left_coboundedₓ'. -/
 /-- Multiplication on the left by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
Diff
@@ -251,7 +251,7 @@ theorem nnnorm_mul_le (a b : α) : ‖a * b‖₊ ≤ ‖a‖₊ * ‖b‖₊ :=
 
 /- warning: one_le_norm_one -> one_le_norm_one is a dubious translation:
 lean 3 declaration is
-  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Norm.norm.{u1} β (NormedRing.toHasNorm.{u1} β _inst_2) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (NonAssocRing.toAddGroupWithOne.{u1} β (Ring.toNonAssocRing.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
+  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Norm.norm.{u1} β (NormedRing.toHasNorm.{u1} β _inst_2) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (AddCommGroupWithOne.toAddGroupWithOne.{u1} β (Ring.toAddCommGroupWithOne.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
 but is expected to have type
   forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} β (NormedRing.toNorm.{u1} β _inst_2) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (NonAssocRing.toOne.{u1} β (Ring.toNonAssocRing.{u1} β (NormedRing.toRing.{u1} β _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align one_le_norm_one one_le_norm_oneₓ'. -/
@@ -262,7 +262,7 @@ theorem one_le_norm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)
 
 /- warning: one_le_nnnorm_one -> one_le_nnnorm_one is a dubious translation:
 lean 3 declaration is
-  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (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))))))) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (NonAssocRing.toAddGroupWithOne.{u1} β (Ring.toNonAssocRing.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
+  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (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))))))) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (AddCommGroupWithOne.toAddGroupWithOne.{u1} β (Ring.toAddCommGroupWithOne.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
 but is expected to have type
   forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} NNReal 1 (One.toOfNat1.{0} NNReal instNNRealOne)) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (NonAssocRing.toOne.{u1} β (Ring.toNonAssocRing.{u1} β (NormedRing.toRing.{u1} β _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align one_le_nnnorm_one one_le_nnnorm_oneₓ'. -/
@@ -406,7 +406,7 @@ instance Subalgebra.normedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type _}
 
 /- warning: nat.norm_cast_le -> Nat.norm_cast_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat α (HasLiftT.mk.{1, succ u1} Nat α (CoeTCₓ.coe.{1, succ u1} Nat α (Nat.castCoe.{u1} α (AddMonoidWithOne.toNatCast.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))))) n)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) ((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) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))))))))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat α (HasLiftT.mk.{1, succ u1} Nat α (CoeTCₓ.coe.{1, succ u1} Nat α (Nat.castCoe.{u1} α (AddMonoidWithOne.toNatCast.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))))) n)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) ((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) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))))))))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Nat.cast.{u1} α (NonAssocRing.toNatCast.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) n)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Nat.cast.{0} Real Real.natCast n) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))))
 Case conversion may be inaccurate. Consider using '#align nat.norm_cast_le Nat.norm_cast_leₓ'. -/
@@ -419,7 +419,7 @@ theorem Nat.norm_cast_le : ∀ n : ℕ, ‖(n : α)‖ ≤ n * ‖(1 : α)‖
 
 /- warning: list.norm_prod_le' -> List.norm_prod_le' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1)) l)))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1)) l)))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1)) l)))
 Case conversion may be inaccurate. Consider using '#align list.norm_prod_le' List.norm_prod_le'ₓ'. -/
@@ -436,7 +436,7 @@ theorem List.norm_prod_le' : ∀ {l : List α}, l ≠ [] → ‖l.Prod‖ ≤ (l
 
 /- warning: list.nnnorm_prod_le' -> List.nnnorm_prod_le' is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
 Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod_le' List.nnnorm_prod_le'ₓ'. -/
@@ -446,7 +446,7 @@ theorem List.nnnorm_prod_le' {l : List α} (hl : l ≠ []) : ‖l.Prod‖₊ ≤
 
 /- warning: list.norm_prod_le -> List.norm_prod_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1)) l))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1)) l))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (l : List.{u1} α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1)) l))
 Case conversion may be inaccurate. Consider using '#align list.norm_prod_le List.norm_prod_leₓ'. -/
@@ -458,7 +458,7 @@ theorem List.norm_prod_le [NormOneClass α] : ∀ l : List α, ‖l.Prod‖ ≤
 
 /- warning: list.nnnorm_prod_le -> List.nnnorm_prod_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
 Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod_le List.nnnorm_prod_leₓ'. -/
@@ -493,7 +493,7 @@ theorem Finset.nnnorm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι)
 
 /- warning: finset.norm_prod_le -> Finset.norm_prod_le is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (NonAssocRing.toAddGroupWithOne.{u2} α (Ring.toNonAssocRing.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.commMonoid s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i)))
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (AddCommGroupWithOne.toAddGroupWithOne.{u2} α (Ring.toAddCommGroupWithOne.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.commMonoid s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i)))
 but is expected to have type
   forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (NonAssocRing.toOne.{u2} α (Ring.toNonAssocRing.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.instCommMonoidReal s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i)))
 Case conversion may be inaccurate. Consider using '#align finset.norm_prod_le Finset.norm_prod_leₓ'. -/
@@ -506,7 +506,7 @@ theorem Finset.norm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α]
 
 /- warning: finset.nnnorm_prod_le -> Finset.nnnorm_prod_le is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (NonAssocRing.toAddGroupWithOne.{u2} α (Ring.toNonAssocRing.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (AddCommGroupWithOne.toAddGroupWithOne.{u2} α (Ring.toAddCommGroupWithOne.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
 but is expected to have type
   forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (NonAssocRing.toOne.{u2} α (Ring.toNonAssocRing.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (LinearOrderedCommMonoid.toCommMonoid.{0} NNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} NNReal (LinearOrderedCommGroupWithZero.toLinearOrderedCommMonoidWithZero.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)))) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
 Case conversion may be inaccurate. Consider using '#align finset.nnnorm_prod_le Finset.nnnorm_prod_leₓ'. -/
@@ -532,7 +532,7 @@ theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ 
 
 /- warning: nnnorm_pow_le -> nnnorm_pow_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
 Case conversion may be inaccurate. Consider using '#align nnnorm_pow_le nnnorm_pow_leₓ'. -/
@@ -555,7 +555,7 @@ theorem norm_pow_le' (a : α) {n : ℕ} (h : 0 < n) : ‖a ^ n‖ ≤ ‖a‖ ^
 
 /- warning: norm_pow_le -> norm_pow_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) a) n)
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) a) n)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (a : α) (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) a) n)
 Case conversion may be inaccurate. Consider using '#align norm_pow_le norm_pow_leₓ'. -/
@@ -739,7 +739,7 @@ theorem norm_mul (a b : α) : ‖a * b‖ = ‖a‖ * ‖b‖ :=
 
 /- warning: normed_division_ring.to_norm_one_class -> NormedDivisionRing.to_normOneClass is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], NormOneClass.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], NormOneClass.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], NormOneClass.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))
 Case conversion may be inaccurate. Consider using '#align normed_division_ring.to_norm_one_class NormedDivisionRing.to_normOneClassₓ'. -/
@@ -808,7 +808,7 @@ theorem nnnorm_pow (a : α) (n : ℕ) : ‖a ^ n‖₊ = ‖a‖₊ ^ n :=
 
 /- warning: list.norm_prod -> List.norm_prod is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) l))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) l))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) l))
 Case conversion may be inaccurate. Consider using '#align list.norm_prod List.norm_prodₓ'. -/
@@ -818,7 +818,7 @@ protected theorem List.norm_prod (l : List α) : ‖l.Prod‖ = (l.map norm).Pro
 
 /- warning: list.nnnorm_prod -> List.nnnorm_prod is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) l))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) l))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) l))
 Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod List.nnnorm_prodₓ'. -/
@@ -993,7 +993,7 @@ theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : 
 
 /- warning: norm_one_of_pow_eq_one -> norm_one_of_pow_eq_one is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {x : α} {k : PNat}, (Eq.{succ u1} α (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) PNat Nat (HasLiftT.mk.{1, 1} PNat Nat (CoeTCₓ.coe.{1, 1} PNat Nat (coeBase.{1, 1} PNat Nat coePNatNat))) k)) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {x : α} {k : PNat}, (Eq.{succ u1} α (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) PNat Nat (HasLiftT.mk.{1, 1} PNat Nat (CoeTCₓ.coe.{1, 1} PNat Nat (coeBase.{1, 1} PNat Nat coePNatNat))) k)) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {x : α} {k : PNat}, (Eq.{succ u1} α (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) x (PNat.val k)) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) x) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
 Case conversion may be inaccurate. Consider using '#align norm_one_of_pow_eq_one norm_one_of_pow_eq_oneₓ'. -/
@@ -1482,7 +1482,7 @@ def NormedField.induced [Field R] [NormedField S] [NonUnitalRingHomClass F R S]
 
 /- warning: norm_one_class.induced -> NormOneClass.induced is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} (R : Type.{u2}) (S : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : SeminormedRing.{u3} S] [_inst_3 : NormOneClass.{u3} S (SeminormedRing.toHasNorm.{u3} S _inst_2) (AddMonoidWithOne.toOne.{u3} S (AddGroupWithOne.toAddMonoidWithOne.{u3} S (NonAssocRing.toAddGroupWithOne.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2)))))] [_inst_4 : RingHomClass.{u1, u2, u3} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2)))] (f : F), NormOneClass.{u2} R (SeminormedRing.toHasNorm.{u2} R (SeminormedRing.induced.{u1, u2, u3} F R S _inst_1 _inst_2 (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2))) _inst_4) f)) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (NonAssocRing.toAddGroupWithOne.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))
+  forall {F : Type.{u1}} (R : Type.{u2}) (S : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : SeminormedRing.{u3} S] [_inst_3 : NormOneClass.{u3} S (SeminormedRing.toHasNorm.{u3} S _inst_2) (AddMonoidWithOne.toOne.{u3} S (AddGroupWithOne.toAddMonoidWithOne.{u3} S (AddCommGroupWithOne.toAddGroupWithOne.{u3} S (Ring.toAddCommGroupWithOne.{u3} S (SeminormedRing.toRing.{u3} S _inst_2)))))] [_inst_4 : RingHomClass.{u1, u2, u3} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2)))] (f : F), NormOneClass.{u2} R (SeminormedRing.toHasNorm.{u2} R (SeminormedRing.induced.{u1, u2, u3} F R S _inst_1 _inst_2 (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2))) _inst_4) f)) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R _inst_1))))
 but is expected to have type
   forall {F : Type.{u3}} (R : Type.{u2}) (S : Type.{u1}) [_inst_1 : Ring.{u2} R] [_inst_2 : SeminormedRing.{u1} S] [_inst_3 : NormOneClass.{u1} S (SeminormedRing.toNorm.{u1} S _inst_2) (NonAssocRing.toOne.{u1} S (Ring.toNonAssocRing.{u1} S (SeminormedRing.toRing.{u1} S _inst_2)))] [_inst_4 : RingHomClass.{u3, u2, u1} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u1} S (Ring.toNonAssocRing.{u1} S (SeminormedRing.toRing.{u1} S _inst_2)))] (f : F), NormOneClass.{u2} R (SeminormedRing.toNorm.{u2} R (SeminormedRing.induced.{u3, u2, u1} F R S _inst_1 _inst_2 (RingHomClass.toNonUnitalRingHomClass.{u3, u2, u1} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u1} S (Ring.toNonAssocRing.{u1} S (SeminormedRing.toRing.{u1} S _inst_2))) _inst_4) f)) (NonAssocRing.toOne.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))
 Case conversion may be inaccurate. Consider using '#align norm_one_class.induced NormOneClass.inducedₓ'. -/
Diff
@@ -260,11 +260,15 @@ theorem one_le_norm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)
     (by simpa only [mul_one] using norm_mul_le (1 : β) 1)
 #align one_le_norm_one one_le_norm_one
 
-#print one_le_nnnorm_one /-
+/- warning: one_le_nnnorm_one -> one_le_nnnorm_one is a dubious translation:
+lean 3 declaration is
+  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (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))))))) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (NonAssocRing.toAddGroupWithOne.{u1} β (Ring.toNonAssocRing.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
+but is expected to have type
+  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} NNReal 1 (One.toOfNat1.{0} NNReal instNNRealOne)) (NNNorm.nnnorm.{u1} β (SeminormedAddGroup.toNNNorm.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} β (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} β (NormedRing.toNonUnitalNormedRing.{u1} β _inst_2))))) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (NonAssocRing.toOne.{u1} β (Ring.toNonAssocRing.{u1} β (NormedRing.toRing.{u1} β _inst_2))))))
+Case conversion may be inaccurate. Consider using '#align one_le_nnnorm_one one_le_nnnorm_oneₓ'. -/
 theorem one_le_nnnorm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)‖₊ :=
   one_le_norm_one β
 #align one_le_nnnorm_one one_le_nnnorm_one
--/
 
 /- warning: filter.tendsto.zero_mul_is_bounded_under_le -> Filter.Tendsto.zero_mul_isBoundedUnder_le is a dubious translation:
 lean 3 declaration is
@@ -733,11 +737,15 @@ theorem norm_mul (a b : α) : ‖a * b‖ = ‖a‖ * ‖b‖ :=
   NormedDivisionRing.norm_mul' a b
 #align norm_mul norm_mul
 
-#print NormedDivisionRing.to_normOneClass /-
+/- warning: normed_division_ring.to_norm_one_class -> NormedDivisionRing.to_normOneClass is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], NormOneClass.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], NormOneClass.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))
+Case conversion may be inaccurate. Consider using '#align normed_division_ring.to_norm_one_class NormedDivisionRing.to_normOneClassₓ'. -/
 instance (priority := 900) NormedDivisionRing.to_normOneClass : NormOneClass α :=
   ⟨mul_left_cancel₀ (mt norm_eq_zero.1 (one_ne_zero' α)) <| by rw [← norm_mul, mul_one, mul_one]⟩
 #align normed_division_ring.to_norm_one_class NormedDivisionRing.to_normOneClass
--/
 
 #print isAbsoluteValue_norm /-
 instance isAbsoluteValue_norm : IsAbsoluteValue (norm : α → ℝ)
Diff
@@ -702,8 +702,7 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing
               norm_add_le_of_le (norm_mul_le _ _) (norm_mul_le _ _)
             
         refine' squeeze_zero (fun e => norm_nonneg _) this _
-        convert
-          ((continuous_fst.tendsto x).norm.mul
+        convert((continuous_fst.tendsto x).norm.mul
                 ((continuous_snd.tendsto x).sub tendsto_const_nhds).norm).add
             (((continuous_fst.tendsto x).sub tendsto_const_nhds).norm.mul _)
         show tendsto _ _ _
@@ -910,7 +909,7 @@ theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Filter.Tendsto.{u1, u1} α α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5229 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5231 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5229 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5231) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5225 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5227 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5225 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5227) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
 Case conversion may be inaccurate. Consider using '#align filter.tendsto_mul_left_cobounded Filter.tendsto_mul_left_coboundedₓ'. -/
 /-- Multiplication on the left by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Johannes Hölzl
 
 ! This file was ported from Lean 3 source module analysis.normed.field.basic
-! leanprover-community/mathlib commit f06058e64b7e8397234455038f3f8aec83aaba5a
+! leanprover-community/mathlib commit 10bf4f825ad729c5653adc039dafa3622e7f93c9
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.Topology.Instances.Ennreal
 /-!
 # Normed fields
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file we define (semi)normed rings and fields. We also prove some theorems about these
 definitions.
 -/
Diff
@@ -26,193 +26,285 @@ open Filter Metric
 
 open Topology BigOperators NNReal ENNReal uniformity Pointwise
 
+#print NonUnitalSeminormedRing /-
 /-- A non-unital seminormed ring is a not-necessarily-unital ring
 endowed with a seminorm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class NonUnitalSemiNormedRing (α : Type _) extends Norm α, NonUnitalRing α,
+class NonUnitalSeminormedRing (α : Type _) extends Norm α, NonUnitalRing α,
   PseudoMetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
-#align non_unital_semi_normed_ring NonUnitalSemiNormedRing
+#align non_unital_semi_normed_ring NonUnitalSeminormedRing
+-/
 
+#print SeminormedRing /-
 /-- A seminormed ring is a ring endowed with a seminorm which satisfies the inequality
 `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class SemiNormedRing (α : Type _) extends Norm α, Ring α, PseudoMetricSpace α where
+class SeminormedRing (α : Type _) extends Norm α, Ring α, PseudoMetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
-#align semi_normed_ring SemiNormedRing
+#align semi_normed_ring SeminormedRing
+-/
 
+#print SeminormedRing.toNonUnitalSeminormedRing /-
 -- see Note [lower instance priority]
 /-- A seminormed ring is a non-unital seminormed ring. -/
-instance (priority := 100) SemiNormedRing.toNonUnitalSemiNormedRing [β : SemiNormedRing α] :
-    NonUnitalSemiNormedRing α :=
+instance (priority := 100) SeminormedRing.toNonUnitalSeminormedRing [β : SeminormedRing α] :
+    NonUnitalSeminormedRing α :=
   { β with }
-#align semi_normed_ring.to_non_unital_semi_normed_ring SemiNormedRing.toNonUnitalSemiNormedRing
+#align semi_normed_ring.to_non_unital_semi_normed_ring SeminormedRing.toNonUnitalSeminormedRing
+-/
 
+#print NonUnitalNormedRing /-
 /-- A non-unital normed ring is a not-necessarily-unital ring
 endowed with a norm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
 class NonUnitalNormedRing (α : Type _) extends Norm α, NonUnitalRing α, MetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
 #align non_unital_normed_ring NonUnitalNormedRing
+-/
 
+#print NonUnitalNormedRing.toNonUnitalSeminormedRing /-
 -- see Note [lower instance priority]
 /-- A non-unital normed ring is a non-unital seminormed ring. -/
-instance (priority := 100) NonUnitalNormedRing.toNonUnitalSemiNormedRing
-    [β : NonUnitalNormedRing α] : NonUnitalSemiNormedRing α :=
+instance (priority := 100) NonUnitalNormedRing.toNonUnitalSeminormedRing
+    [β : NonUnitalNormedRing α] : NonUnitalSeminormedRing α :=
   { β with }
-#align non_unital_normed_ring.to_non_unital_semi_normed_ring NonUnitalNormedRing.toNonUnitalSemiNormedRing
+#align non_unital_normed_ring.to_non_unital_semi_normed_ring NonUnitalNormedRing.toNonUnitalSeminormedRing
+-/
 
+#print NormedRing /-
 /-- A normed ring is a ring endowed with a norm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
 class NormedRing (α : Type _) extends Norm α, Ring α, MetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
 #align normed_ring NormedRing
+-/
 
+#print NormedDivisionRing /-
 /-- A normed division ring is a division ring endowed with a seminorm which satisfies the equality
 `‖x y‖ = ‖x‖ ‖y‖`. -/
 class NormedDivisionRing (α : Type _) extends Norm α, DivisionRing α, MetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul' : ∀ a b, norm (a * b) = norm a * norm b
 #align normed_division_ring NormedDivisionRing
+-/
 
+#print NormedDivisionRing.toNormedRing /-
 -- see Note [lower instance priority]
 /-- A normed division ring is a normed ring. -/
 instance (priority := 100) NormedDivisionRing.toNormedRing [β : NormedDivisionRing α] :
     NormedRing α :=
   { β with norm_mul := fun a b => (NormedDivisionRing.norm_mul' a b).le }
 #align normed_division_ring.to_normed_ring NormedDivisionRing.toNormedRing
+-/
 
+#print NormedRing.toSeminormedRing /-
 -- see Note [lower instance priority]
 /-- A normed ring is a seminormed ring. -/
-instance (priority := 100) NormedRing.toSemiNormedRing [β : NormedRing α] : SemiNormedRing α :=
+instance (priority := 100) NormedRing.toSeminormedRing [β : NormedRing α] : SeminormedRing α :=
   { β with }
-#align normed_ring.to_semi_normed_ring NormedRing.toSemiNormedRing
+#align normed_ring.to_semi_normed_ring NormedRing.toSeminormedRing
+-/
 
+#print NormedRing.toNonUnitalNormedRing /-
 -- see Note [lower instance priority]
 /-- A normed ring is a non-unital normed ring. -/
 instance (priority := 100) NormedRing.toNonUnitalNormedRing [β : NormedRing α] :
     NonUnitalNormedRing α :=
   { β with }
 #align normed_ring.to_non_unital_normed_ring NormedRing.toNonUnitalNormedRing
+-/
 
+#print SeminormedCommRing /-
 /-- A seminormed commutative ring is a commutative ring endowed with a seminorm which satisfies
 the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class SemiNormedCommRing (α : Type _) extends SemiNormedRing α where
+class SeminormedCommRing (α : Type _) extends SeminormedRing α where
   mul_comm : ∀ x y : α, x * y = y * x
-#align semi_normed_comm_ring SemiNormedCommRing
+#align semi_normed_comm_ring SeminormedCommRing
+-/
 
+#print NormedCommRing /-
 /-- A normed commutative ring is a commutative ring endowed with a norm which satisfies
 the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
 class NormedCommRing (α : Type _) extends NormedRing α where
   mul_comm : ∀ x y : α, x * y = y * x
 #align normed_comm_ring NormedCommRing
+-/
 
+#print NormedCommRing.toSeminormedCommRing /-
 -- see Note [lower instance priority]
 /-- A normed commutative ring is a seminormed commutative ring. -/
-instance (priority := 100) NormedCommRing.toSemiNormedCommRing [β : NormedCommRing α] :
-    SemiNormedCommRing α :=
+instance (priority := 100) NormedCommRing.toSeminormedCommRing [β : NormedCommRing α] :
+    SeminormedCommRing α :=
   { β with }
-#align normed_comm_ring.to_semi_normed_comm_ring NormedCommRing.toSemiNormedCommRing
+#align normed_comm_ring.to_semi_normed_comm_ring NormedCommRing.toSeminormedCommRing
+-/
 
 instance : NormedCommRing PUnit :=
   { PUnit.normedAddCommGroup, PUnit.commRing with norm_mul := fun _ _ => by simp }
 
+#print NormOneClass /-
 /-- A mixin class with the axiom `‖1‖ = 1`. Many `normed_ring`s and all `normed_field`s satisfy this
 axiom. -/
 class NormOneClass (α : Type _) [Norm α] [One α] : Prop where
   norm_one : ‖(1 : α)‖ = 1
 #align norm_one_class NormOneClass
+-/
 
 export NormOneClass (norm_one)
 
 attribute [simp] norm_one
 
+#print nnnorm_one /-
 @[simp]
 theorem nnnorm_one [SeminormedAddCommGroup α] [One α] [NormOneClass α] : ‖(1 : α)‖₊ = 1 :=
   NNReal.eq norm_one
 #align nnnorm_one nnnorm_one
+-/
 
+#print NormOneClass.nontrivial /-
 theorem NormOneClass.nontrivial (α : Type _) [SeminormedAddCommGroup α] [One α] [NormOneClass α] :
     Nontrivial α :=
   nontrivial_of_ne 0 1 <| ne_of_apply_ne norm <| by simp
 #align norm_one_class.nontrivial NormOneClass.nontrivial
+-/
 
+#print SeminormedCommRing.toCommRing /-
 -- see Note [lower instance priority]
-instance (priority := 100) SemiNormedCommRing.toCommRing [β : SemiNormedCommRing α] : CommRing α :=
+instance (priority := 100) SeminormedCommRing.toCommRing [β : SeminormedCommRing α] : CommRing α :=
   { β with }
-#align semi_normed_comm_ring.to_comm_ring SemiNormedCommRing.toCommRing
+#align semi_normed_comm_ring.to_comm_ring SeminormedCommRing.toCommRing
+-/
 
+#print NonUnitalNormedRing.toNormedAddCommGroup /-
 -- see Note [lower instance priority]
 instance (priority := 100) NonUnitalNormedRing.toNormedAddCommGroup [β : NonUnitalNormedRing α] :
     NormedAddCommGroup α :=
   { β with }
 #align non_unital_normed_ring.to_normed_add_comm_group NonUnitalNormedRing.toNormedAddCommGroup
+-/
 
+#print NonUnitalSeminormedRing.toSeminormedAddCommGroup /-
 -- see Note [lower instance priority]
-instance (priority := 100) NonUnitalSemiNormedRing.toSeminormedAddCommGroup
-    [NonUnitalSemiNormedRing α] : SeminormedAddCommGroup α :=
-  { ‹NonUnitalSemiNormedRing α› with }
-#align non_unital_semi_normed_ring.to_seminormed_add_comm_group NonUnitalSemiNormedRing.toSeminormedAddCommGroup
+instance (priority := 100) NonUnitalSeminormedRing.toSeminormedAddCommGroup
+    [NonUnitalSeminormedRing α] : SeminormedAddCommGroup α :=
+  { ‹NonUnitalSeminormedRing α› with }
+#align non_unital_semi_normed_ring.to_seminormed_add_comm_group NonUnitalSeminormedRing.toSeminormedAddCommGroup
+-/
 
 instance [SeminormedAddCommGroup α] [One α] [NormOneClass α] : NormOneClass (ULift α) :=
   ⟨by simp [ULift.norm_def]⟩
 
+/- warning: prod.norm_one_class -> Prod.normOneClass is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SeminormedAddCommGroup.{u1} α] [_inst_2 : One.{u1} α] [_inst_3 : NormOneClass.{u1} α (SeminormedAddCommGroup.toHasNorm.{u1} α _inst_1) _inst_2] [_inst_4 : SeminormedAddCommGroup.{u2} β] [_inst_5 : One.{u2} β] [_inst_6 : NormOneClass.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_4) _inst_5], NormOneClass.{max u1 u2} (Prod.{u1, u2} α β) (Prod.hasNorm.{u1, u2} α β (SeminormedAddCommGroup.toHasNorm.{u1} α _inst_1) (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_4)) (Prod.hasOne.{u1, u2} α β _inst_2 _inst_5)
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : SeminormedAddCommGroup.{u1} α] [_inst_2 : One.{u1} α] [_inst_3 : NormOneClass.{u1} α (SeminormedAddCommGroup.toNorm.{u1} α _inst_1) _inst_2] [_inst_4 : SeminormedAddCommGroup.{u2} β] [_inst_5 : One.{u2} β] [_inst_6 : NormOneClass.{u2} β (SeminormedAddCommGroup.toNorm.{u2} β _inst_4) _inst_5], NormOneClass.{max u2 u1} (Prod.{u1, u2} α β) (Prod.toNorm.{u1, u2} α β (SeminormedAddCommGroup.toNorm.{u1} α _inst_1) (SeminormedAddCommGroup.toNorm.{u2} β _inst_4)) (Prod.instOneProd.{u1, u2} α β _inst_2 _inst_5)
+Case conversion may be inaccurate. Consider using '#align prod.norm_one_class Prod.normOneClassₓ'. -/
 instance Prod.normOneClass [SeminormedAddCommGroup α] [One α] [NormOneClass α]
     [SeminormedAddCommGroup β] [One β] [NormOneClass β] : NormOneClass (α × β) :=
   ⟨by simp [Prod.norm_def]⟩
 #align prod.norm_one_class Prod.normOneClass
 
+#print Pi.normOneClass /-
 instance Pi.normOneClass {ι : Type _} {α : ι → Type _} [Nonempty ι] [Fintype ι]
     [∀ i, SeminormedAddCommGroup (α i)] [∀ i, One (α i)] [∀ i, NormOneClass (α i)] :
     NormOneClass (∀ i, α i) :=
   ⟨by simp [Pi.norm_def, Finset.sup_const Finset.univ_nonempty]⟩
 #align pi.norm_one_class Pi.normOneClass
+-/
 
+#print MulOpposite.normOneClass /-
 instance MulOpposite.normOneClass [SeminormedAddCommGroup α] [One α] [NormOneClass α] :
     NormOneClass αᵐᵒᵖ :=
   ⟨@norm_one α _ _ _⟩
 #align mul_opposite.norm_one_class MulOpposite.normOneClass
+-/
 
-section NonUnitalSemiNormedRing
+section NonUnitalSeminormedRing
 
-variable [NonUnitalSemiNormedRing α]
+variable [NonUnitalSeminormedRing α]
 
+/- warning: norm_mul_le -> norm_mul_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (a : α) (b : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) a b)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) b))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (a : α) (b : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))) a b)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) b))
+Case conversion may be inaccurate. Consider using '#align norm_mul_le norm_mul_leₓ'. -/
 theorem norm_mul_le (a b : α) : ‖a * b‖ ≤ ‖a‖ * ‖b‖ :=
-  NonUnitalSemiNormedRing.norm_mul _ _
+  NonUnitalSeminormedRing.norm_mul _ _
 #align norm_mul_le norm_mul_le
 
+/- warning: nnnorm_mul_le -> nnnorm_mul_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (a : α) (b : α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) a 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))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) b))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (a : α) (b : α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))) a b)) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α _inst_1))) b))
+Case conversion may be inaccurate. Consider using '#align nnnorm_mul_le nnnorm_mul_leₓ'. -/
 theorem nnnorm_mul_le (a b : α) : ‖a * b‖₊ ≤ ‖a‖₊ * ‖b‖₊ := by
   simpa only [← norm_toNNReal, ← Real.toNNReal_mul (norm_nonneg _)] using
     Real.toNNReal_mono (norm_mul_le _ _)
 #align nnnorm_mul_le nnnorm_mul_le
 
+/- warning: one_le_norm_one -> one_le_norm_one is a dubious translation:
+lean 3 declaration is
+  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Norm.norm.{u1} β (NormedRing.toHasNorm.{u1} β _inst_2) (OfNat.ofNat.{u1} β 1 (OfNat.mk.{u1} β 1 (One.one.{u1} β (AddMonoidWithOne.toOne.{u1} β (AddGroupWithOne.toAddMonoidWithOne.{u1} β (NonAssocRing.toAddGroupWithOne.{u1} β (Ring.toNonAssocRing.{u1} β (NormedRing.toRing.{u1} β _inst_2)))))))))
+but is expected to have type
+  forall (β : Type.{u1}) [_inst_2 : NormedRing.{u1} β] [_inst_3 : Nontrivial.{u1} β], LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} β (NormedRing.toNorm.{u1} β _inst_2) (OfNat.ofNat.{u1} β 1 (One.toOfNat1.{u1} β (NonAssocRing.toOne.{u1} β (Ring.toNonAssocRing.{u1} β (NormedRing.toRing.{u1} β _inst_2))))))
+Case conversion may be inaccurate. Consider using '#align one_le_norm_one one_le_norm_oneₓ'. -/
 theorem one_le_norm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)‖ :=
   (le_mul_iff_one_le_left <| norm_pos_iff.mpr (one_ne_zero : (1 : β) ≠ 0)).mp
     (by simpa only [mul_one] using norm_mul_le (1 : β) 1)
 #align one_le_norm_one one_le_norm_one
 
+#print one_le_nnnorm_one /-
 theorem one_le_nnnorm_one (β) [NormedRing β] [Nontrivial β] : 1 ≤ ‖(1 : β)‖₊ :=
   one_le_norm_one β
 #align one_le_nnnorm_one one_le_nnnorm_one
+-/
 
+/- warning: filter.tendsto.zero_mul_is_bounded_under_le -> Filter.Tendsto.zero_mul_isBoundedUnder_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] {f : ι -> α} {g : ι -> α} {l : Filter.{u2} ι}, (Filter.Tendsto.{u2, u1} ι α f l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))))))) -> (Filter.IsBoundedUnder.{0, u2} Real ι (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u2, succ u1, 1} ι α Real (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1)) g)) -> (Filter.Tendsto.{u2, u1} ι α (fun (x : ι) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (f x) (g x)) l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))))
+but is expected to have type
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] {f : ι -> α} {g : ι -> α} {l : Filter.{u2} ι}, (Filter.Tendsto.{u2, u1} ι α f l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (SemigroupWithZero.toZero.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalRing.toNonUnitalSemiring.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))))) -> (Filter.IsBoundedUnder.{0, u2} Real ι (fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1131 : Real) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1133 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1131 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1133) l (Function.comp.{succ u2, succ u1, 1} ι α Real (fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1152 : α) => Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1152) g)) -> (Filter.Tendsto.{u2, u1} ι α (fun (x : ι) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))) (f x) (g x)) l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (SemigroupWithZero.toZero.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalRing.toNonUnitalSemiring.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align filter.tendsto.zero_mul_is_bounded_under_le Filter.Tendsto.zero_mul_isBoundedUnder_leₓ'. -/
 theorem Filter.Tendsto.zero_mul_isBoundedUnder_le {f g : ι → α} {l : Filter ι}
     (hf : Tendsto f l (𝓝 0)) (hg : IsBoundedUnder (· ≤ ·) l (norm ∘ g)) :
     Tendsto (fun x => f x * g x) l (𝓝 0) :=
   hf.op_zero_isBoundedUnder_le hg (· * ·) norm_mul_le
 #align filter.tendsto.zero_mul_is_bounded_under_le Filter.Tendsto.zero_mul_isBoundedUnder_le
 
-theorem Filter.IsBoundedUnderLe.mul_tendsto_zero {f g : ι → α} {l : Filter ι}
+/- warning: filter.is_bounded_under_le.mul_tendsto_zero -> Filter.isBoundedUnder_le_mul_tendsto_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] {f : ι -> α} {g : ι -> α} {l : Filter.{u2} ι}, (Filter.IsBoundedUnder.{0, u2} Real ι (LE.le.{0} Real Real.hasLe) l (Function.comp.{succ u2, succ u1, 1} ι α Real (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1)) f)) -> (Filter.Tendsto.{u2, u1} ι α g l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))))))) -> (Filter.Tendsto.{u2, u1} ι α (fun (x : ι) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (f x) (g x)) l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))))
+but is expected to have type
+  forall {α : Type.{u1}} {ι : Type.{u2}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] {f : ι -> α} {g : ι -> α} {l : Filter.{u2} ι}, (Filter.IsBoundedUnder.{0, u2} Real ι (fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1225 : Real) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1227 : Real) => LE.le.{0} Real Real.instLEReal x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1225 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.1227) l (Function.comp.{succ u2, succ u1, 1} ι α Real (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1)) f)) -> (Filter.Tendsto.{u2, u1} ι α g l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (SemigroupWithZero.toZero.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalRing.toNonUnitalSemiring.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u2, u1} ι α (fun (x : ι) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))) (f x) (g x)) l (nhds.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (SemigroupWithZero.toZero.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalRing.toNonUnitalSemiring.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align filter.is_bounded_under_le.mul_tendsto_zero Filter.isBoundedUnder_le_mul_tendsto_zeroₓ'. -/
+theorem Filter.isBoundedUnder_le_mul_tendsto_zero {f g : ι → α} {l : Filter ι}
     (hf : IsBoundedUnder (· ≤ ·) l (norm ∘ f)) (hg : Tendsto g l (𝓝 0)) :
     Tendsto (fun x => f x * g x) l (𝓝 0) :=
   hg.op_zero_isBoundedUnder_le hf (flip (· * ·)) fun x y =>
     (norm_mul_le y x).trans_eq (mul_comm _ _)
-#align filter.is_bounded_under_le.mul_tendsto_zero Filter.IsBoundedUnderLe.mul_tendsto_zero
-
+#align filter.is_bounded_under_le.mul_tendsto_zero Filter.isBoundedUnder_le_mul_tendsto_zero
+
+/- warning: mul_left_bound -> mulLeft_bound is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (x : α) (y : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))) x) y)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) x) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) y))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (x : α) (y : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) y) (NonUnitalSeminormedRing.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) y) _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))) x) y)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) x) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) y))
+Case conversion may be inaccurate. Consider using '#align mul_left_bound mulLeft_boundₓ'. -/
 /-- In a seminormed ring, the left-multiplication `add_monoid_hom` is bounded. -/
 theorem mulLeft_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulLeft x y‖ ≤ ‖x‖ * ‖y‖ :=
   norm_mul_le x
 #align mul_left_bound mulLeft_bound
 
+/- warning: mul_right_bound -> mulRight_bound is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (x : α) (y : α), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))) x) y)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) x) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toHasNorm.{u1} α _inst_1) y))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α] (x : α) (y : α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) y) (NonUnitalSeminormedRing.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) y) _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))))))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1))) x) y)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) x) (Norm.norm.{u1} α (NonUnitalSeminormedRing.toNorm.{u1} α _inst_1) y))
+Case conversion may be inaccurate. Consider using '#align mul_right_bound mulRight_boundₓ'. -/
 /-- In a seminormed ring, the right-multiplication `add_monoid_hom` is bounded. -/
 theorem mulRight_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulRight x y‖ ≤ ‖x‖ * ‖y‖ := fun y =>
   by
@@ -220,13 +312,14 @@ theorem mulRight_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulRight x y‖ 
   convert norm_mul_le y x
 #align mul_right_bound mulRight_bound
 
-instance : NonUnitalSemiNormedRing (ULift α) :=
+instance : NonUnitalSeminormedRing (ULift α) :=
   { ULift.seminormedAddCommGroup with norm_mul := fun x y => (norm_mul_le x.down y.down : _) }
 
+#print Prod.nonUnitalSeminormedRing /-
 /-- Non-unital seminormed ring structure on the product of two non-unital seminormed rings,
   using the sup norm. -/
-instance Prod.nonUnitalSemiNormedRing [NonUnitalSemiNormedRing β] :
-    NonUnitalSemiNormedRing (α × β) :=
+instance Prod.nonUnitalSeminormedRing [NonUnitalSeminormedRing β] :
+    NonUnitalSeminormedRing (α × β) :=
   { Prod.seminormedAddCommGroup with
     norm_mul := fun x y =>
       calc
@@ -240,12 +333,14 @@ instance Prod.nonUnitalSemiNormedRing [NonUnitalSemiNormedRing β] :
         _ = max ‖x.1‖ ‖x.2‖ * max ‖y.1‖ ‖y.2‖ := by simp [max_comm]
         _ = ‖x‖ * ‖y‖ := rfl
          }
-#align prod.non_unital_semi_normed_ring Prod.nonUnitalSemiNormedRing
+#align prod.non_unital_semi_normed_ring Prod.nonUnitalSeminormedRing
+-/
 
+#print Pi.nonUnitalSeminormedRing /-
 /-- Non-unital seminormed ring structure on the product of finitely many non-unital seminormed
 rings, using the sup norm. -/
-instance Pi.nonUnitalSemiNormedRing {π : ι → Type _} [Fintype ι]
-    [∀ i, NonUnitalSemiNormedRing (π i)] : NonUnitalSemiNormedRing (∀ i, π i) :=
+instance Pi.nonUnitalSeminormedRing {π : ι → Type _} [Fintype ι]
+    [∀ i, NonUnitalSeminormedRing (π i)] : NonUnitalSeminormedRing (∀ i, π i) :=
   { Pi.seminormedAddCommGroup with
     norm_mul := fun x y =>
       NNReal.coe_mono <|
@@ -256,37 +351,58 @@ instance Pi.nonUnitalSemiNormedRing {π : ι → Type _} [Fintype ι]
           _ ≤ (Finset.univ.sup fun i => ‖x i‖₊) * Finset.univ.sup fun i => ‖y i‖₊ :=
             Finset.sup_mul_le_mul_sup_of_nonneg _ (fun i _ => zero_le _) fun i _ => zero_le _
            }
-#align pi.non_unital_semi_normed_ring Pi.nonUnitalSemiNormedRing
+#align pi.non_unital_semi_normed_ring Pi.nonUnitalSeminormedRing
+-/
 
-instance MulOpposite.nonUnitalSemiNormedRing : NonUnitalSemiNormedRing αᵐᵒᵖ :=
+#print MulOpposite.nonUnitalSeminormedRing /-
+instance MulOpposite.nonUnitalSeminormedRing : NonUnitalSeminormedRing αᵐᵒᵖ :=
   { MulOpposite.seminormedAddCommGroup with
     norm_mul :=
       MulOpposite.rec' fun x =>
         MulOpposite.rec' fun y => (norm_mul_le y x).trans_eq (mul_comm _ _) }
-#align mul_opposite.non_unital_semi_normed_ring MulOpposite.nonUnitalSemiNormedRing
+#align mul_opposite.non_unital_semi_normed_ring MulOpposite.nonUnitalSeminormedRing
+-/
 
-end NonUnitalSemiNormedRing
+end NonUnitalSeminormedRing
 
-section SemiNormedRing
+section SeminormedRing
 
-variable [SemiNormedRing α]
+variable [SeminormedRing α]
 
+/- warning: subalgebra.semi_normed_ring -> Subalgebra.seminormedRing is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {_x : CommRing.{u1} 𝕜} {E : Type.{u2}} [_inst_2 : SeminormedRing.{u2} E] {_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2))} (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1), SeminormedRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.setLike.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1)) s)
+but is expected to have type
+  forall {𝕜 : Type.{u1}} {_x : CommRing.{u1} 𝕜} {E : Type.{u2}} [_inst_2 : SeminormedRing.{u2} E] {_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2))} (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1), SeminormedRing.{u2} (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.instSetLikeSubalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (SeminormedRing.toRing.{u2} E _inst_2)) _x_1)) x s))
+Case conversion may be inaccurate. Consider using '#align subalgebra.semi_normed_ring Subalgebra.seminormedRingₓ'. -/
 /-- A subalgebra of a seminormed ring is also a seminormed ring, with the restriction of the norm.
 
 See note [implicit instance arguments]. -/
-instance Subalgebra.semiNormedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type _} [SemiNormedRing E]
-    {_ : Algebra 𝕜 E} (s : Subalgebra 𝕜 E) : SemiNormedRing s :=
+instance Subalgebra.seminormedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type _} [SeminormedRing E]
+    {_ : Algebra 𝕜 E} (s : Subalgebra 𝕜 E) : SeminormedRing s :=
   { s.toSubmodule.SeminormedAddCommGroup with norm_mul := fun a b => norm_mul_le a.1 b.1 }
-#align subalgebra.semi_normed_ring Subalgebra.semiNormedRing
-
+#align subalgebra.semi_normed_ring Subalgebra.seminormedRing
+
+/- warning: subalgebra.normed_ring -> Subalgebra.normedRing is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {_x : CommRing.{u1} 𝕜} {E : Type.{u2}} [_inst_2 : NormedRing.{u2} E] {_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2))} (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1), NormedRing.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.setLike.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1)) s)
+but is expected to have type
+  forall {𝕜 : Type.{u1}} {_x : CommRing.{u1} 𝕜} {E : Type.{u2}} [_inst_2 : NormedRing.{u2} E] {_x_1 : Algebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2))} (s : Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1), NormedRing.{u2} (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) (SetLike.instMembership.{u2, u2} (Subalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1) E (Subalgebra.instSetLikeSubalgebra.{u1, u2} 𝕜 E (CommRing.toCommSemiring.{u1} 𝕜 _x) (Ring.toSemiring.{u2} E (NormedRing.toRing.{u2} E _inst_2)) _x_1)) x s))
+Case conversion may be inaccurate. Consider using '#align subalgebra.normed_ring Subalgebra.normedRingₓ'. -/
 /-- A subalgebra of a normed ring is also a normed ring, with the restriction of the norm.
 
 See note [implicit instance arguments]. -/
 instance Subalgebra.normedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type _} [NormedRing E]
     {_ : Algebra 𝕜 E} (s : Subalgebra 𝕜 E) : NormedRing s :=
-  { s.SemiNormedRing with }
+  { s.SeminormedRing with }
 #align subalgebra.normed_ring Subalgebra.normedRing
 
+/- warning: nat.norm_cast_le -> Nat.norm_cast_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Nat α (HasLiftT.mk.{1, succ u1} Nat α (CoeTCₓ.coe.{1, succ u1} Nat α (Nat.castCoe.{u1} α (AddMonoidWithOne.toNatCast.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))))) n)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) ((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) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))))))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (Nat.cast.{u1} α (NonAssocRing.toNatCast.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) n)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Nat.cast.{0} Real Real.natCast n) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align nat.norm_cast_le Nat.norm_cast_leₓ'. -/
 theorem Nat.norm_cast_le : ∀ n : ℕ, ‖(n : α)‖ ≤ n * ‖(1 : α)‖
   | 0 => by simp
   | n + 1 => by
@@ -294,6 +410,12 @@ theorem Nat.norm_cast_le : ∀ n : ℕ, ‖(n : α)‖ ≤ n * ‖(1 : α)‖
     exact norm_add_le_of_le (Nat.norm_cast_le n) le_rfl
 #align nat.norm_cast_le Nat.norm_cast_le
 
+/- warning: list.norm_prod_le' -> List.norm_prod_le' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1)) l)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1)) l)))
+Case conversion may be inaccurate. Consider using '#align list.norm_prod_le' List.norm_prod_le'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem List.norm_prod_le' : ∀ {l : List α}, l ≠ [] → ‖l.Prod‖ ≤ (l.map norm).Prod
@@ -305,20 +427,44 @@ theorem List.norm_prod_le' : ∀ {l : List α}, l ≠ [] → ‖l.Prod‖ ≤ (l
     exact List.norm_prod_le' (List.cons_ne_nil b l)
 #align list.norm_prod_le' List.norm_prod_le'
 
+/- warning: list.nnnorm_prod_le' -> List.nnnorm_prod_le' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] {l : List.{u1} α}, (Ne.{succ u1} (List.{u1} α) l (List.nil.{u1} α)) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l)))
+Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod_le' List.nnnorm_prod_le'ₓ'. -/
 theorem List.nnnorm_prod_le' {l : List α} (hl : l ≠ []) : ‖l.Prod‖₊ ≤ (l.map nnnorm).Prod :=
   (List.norm_prod_le' hl).trans_eq <| by simp [NNReal.coe_list_prod, List.map_map]
 #align list.nnnorm_prod_le' List.nnnorm_prod_le'
 
+/- warning: list.norm_prod_le -> List.norm_prod_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1)) l))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (l : List.{u1} α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1)) l))
+Case conversion may be inaccurate. Consider using '#align list.norm_prod_le List.norm_prod_leₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:177:8: unsupported: ambiguous notation -/
 theorem List.norm_prod_le [NormOneClass α] : ∀ l : List α, ‖l.Prod‖ ≤ (l.map norm).Prod
   | [] => by simp
   | a::l => List.norm_prod_le' (List.cons_ne_nil a l)
 #align list.norm_prod_le List.norm_prod_le
 
+/- warning: list.nnnorm_prod_le -> List.nnnorm_prod_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (l : List.{u1} α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1))))) l))
+Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod_le List.nnnorm_prod_leₓ'. -/
 theorem List.nnnorm_prod_le [NormOneClass α] (l : List α) : ‖l.Prod‖₊ ≤ (l.map nnnorm).Prod :=
   l.norm_prod_le.trans_eq <| by simp [NNReal.coe_list_prod, List.map_map]
 #align list.nnnorm_prod_le List.nnnorm_prod_le
 
+/- warning: finset.norm_prod_le' -> Finset.norm_prod_le' is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] (s : Finset.{u1} ι), (Finset.Nonempty.{u1} ι s) -> (forall (f : ι -> α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.commMonoid s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i))))
+but is expected to have type
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] (s : Finset.{u1} ι), (Finset.Nonempty.{u1} ι s) -> (forall (f : ι -> α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.instCommMonoidReal s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i))))
+Case conversion may be inaccurate. Consider using '#align finset.norm_prod_le' Finset.norm_prod_le'ₓ'. -/
 theorem Finset.norm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (hs : s.Nonempty)
     (f : ι → α) : ‖∏ i in s, f i‖ ≤ ∏ i in s, ‖f i‖ :=
   by
@@ -327,11 +473,23 @@ theorem Finset.norm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (
   simpa using List.norm_prod_le' this
 #align finset.norm_prod_le' Finset.norm_prod_le'
 
+/- warning: finset.nnnorm_prod_le' -> Finset.nnnorm_prod_le' is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] (s : Finset.{u1} ι), (Finset.Nonempty.{u1} ι s) -> (forall (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i))))
+but is expected to have type
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] (s : Finset.{u1} ι), (Finset.Nonempty.{u1} ι s) -> (forall (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (LinearOrderedCommMonoid.toCommMonoid.{0} NNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} NNReal (LinearOrderedCommGroupWithZero.toLinearOrderedCommMonoidWithZero.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)))) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i))))
+Case conversion may be inaccurate. Consider using '#align finset.nnnorm_prod_le' Finset.nnnorm_prod_le'ₓ'. -/
 theorem Finset.nnnorm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (hs : s.Nonempty)
     (f : ι → α) : ‖∏ i in s, f i‖₊ ≤ ∏ i in s, ‖f i‖₊ :=
   (s.norm_prod_le' hs f).trans_eq <| by simp [NNReal.coe_prod]
 #align finset.nnnorm_prod_le' Finset.nnnorm_prod_le'
 
+/- warning: finset.norm_prod_le -> Finset.norm_prod_le is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (NonAssocRing.toAddGroupWithOne.{u2} α (Ring.toNonAssocRing.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} Real Real.hasLe (Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.commMonoid s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i)))
+but is expected to have type
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (NonAssocRing.toOne.{u2} α (Ring.toNonAssocRing.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} Real Real.instLEReal (Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} Real ι Real.instCommMonoidReal s (fun (i : ι) => Norm.norm.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (f i)))
+Case conversion may be inaccurate. Consider using '#align finset.norm_prod_le Finset.norm_prod_leₓ'. -/
 theorem Finset.norm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
     (f : ι → α) : ‖∏ i in s, f i‖ ≤ ∏ i in s, ‖f i‖ :=
   by
@@ -339,11 +497,23 @@ theorem Finset.norm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α]
   simpa using (l.map f).norm_prod_le
 #align finset.norm_prod_le Finset.norm_prod_le
 
+/- warning: finset.nnnorm_prod_le -> Finset.nnnorm_prod_le is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toHasNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (NonAssocRing.toAddGroupWithOne.{u2} α (Ring.toNonAssocRing.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
+but is expected to have type
+  forall {ι : Type.{u1}} {α : Type.{u2}} [_inst_2 : NormedCommRing.{u2} α] [_inst_3 : NormOneClass.{u2} α (NormedRing.toNorm.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)) (NonAssocRing.toOne.{u2} α (Ring.toNonAssocRing.{u2} α (NormedRing.toRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2))))] (s : Finset.{u1} ι) (f : ι -> α), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (Finset.prod.{u2, u1} α ι (CommRing.toCommMonoid.{u2} α (SeminormedCommRing.toCommRing.{u2} α (NormedCommRing.toSeminormedCommRing.{u2} α _inst_2))) s (fun (i : ι) => f i))) (Finset.prod.{0, u1} NNReal ι (LinearOrderedCommMonoid.toCommMonoid.{0} NNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} NNReal (LinearOrderedCommGroupWithZero.toLinearOrderedCommMonoidWithZero.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)))) s (fun (i : ι) => NNNorm.nnnorm.{u2} α (SeminormedAddGroup.toNNNorm.{u2} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u2} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u2} α (NormedRing.toNonUnitalNormedRing.{u2} α (NormedCommRing.toNormedRing.{u2} α _inst_2)))))) (f i)))
+Case conversion may be inaccurate. Consider using '#align finset.nnnorm_prod_le Finset.nnnorm_prod_leₓ'. -/
 theorem Finset.nnnorm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
     (f : ι → α) : ‖∏ i in s, f i‖₊ ≤ ∏ i in s, ‖f i‖₊ :=
   (s.norm_prod_le f).trans_eq <| by simp [NNReal.coe_prod]
 #align finset.nnnorm_prod_le Finset.nnnorm_prod_le
 
+/- warning: nnnorm_pow_le' -> nnnorm_pow_le' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α) {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α) {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n))
+Case conversion may be inaccurate. Consider using '#align nnnorm_pow_le' nnnorm_pow_le'ₓ'. -/
 /-- If `α` is a seminormed ring, then `‖a ^ n‖₊ ≤ ‖a‖₊ ^ n` for `n > 0`.
 See also `nnnorm_pow_le`. -/
 theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n
@@ -353,47 +523,77 @@ theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ 
       le_trans (nnnorm_mul_le _ _) (mul_le_mul_left' (nnnorm_pow_le' n.succ_pos) _)
 #align nnnorm_pow_le' nnnorm_pow_le'
 
+/- warning: nnnorm_pow_le -> nnnorm_pow_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (a : α) (n : Nat), LE.le.{0} NNReal (Preorder.toLE.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (SeminormedRing.toNonUnitalSeminormedRing.{u1} α _inst_1)))) a) n)
+Case conversion may be inaccurate. Consider using '#align nnnorm_pow_le nnnorm_pow_leₓ'. -/
 /-- If `α` is a seminormed ring with `‖1‖₊ = 1`, then `‖a ^ n‖₊ ≤ ‖a‖₊ ^ n`.
 See also `nnnorm_pow_le'`.-/
 theorem nnnorm_pow_le [NormOneClass α] (a : α) (n : ℕ) : ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n :=
   Nat.recOn n (by simp only [pow_zero, nnnorm_one]) fun k hk => nnnorm_pow_le' a k.succ_pos
 #align nnnorm_pow_le nnnorm_pow_le
 
+/- warning: norm_pow_le' -> norm_pow_le' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α) {n : Nat}, (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) a) n))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α) {n : Nat}, (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) a) n))
+Case conversion may be inaccurate. Consider using '#align norm_pow_le' norm_pow_le'ₓ'. -/
 /-- If `α` is a seminormed ring, then `‖a ^ n‖ ≤ ‖a‖ ^ n` for `n > 0`. See also `norm_pow_le`. -/
 theorem norm_pow_le' (a : α) {n : ℕ} (h : 0 < n) : ‖a ^ n‖ ≤ ‖a‖ ^ n := by
   simpa only [NNReal.coe_pow, coe_nnnorm] using NNReal.coe_mono (nnnorm_pow_le' a h)
 #align norm_pow_le' norm_pow_le'
 
+/- warning: norm_pow_le -> norm_pow_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))] (a : α) (n : Nat), LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) a) n)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] [_inst_2 : NormOneClass.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))] (a : α) (n : Nat), LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) a) n)
+Case conversion may be inaccurate. Consider using '#align norm_pow_le norm_pow_leₓ'. -/
 /-- If `α` is a seminormed ring with `‖1‖ = 1`, then `‖a ^ n‖ ≤ ‖a‖ ^ n`. See also `norm_pow_le'`.-/
 theorem norm_pow_le [NormOneClass α] (a : α) (n : ℕ) : ‖a ^ n‖ ≤ ‖a‖ ^ n :=
   Nat.recOn n (by simp only [pow_zero, norm_one]) fun n hn => norm_pow_le' a n.succ_pos
 #align norm_pow_le norm_pow_le
 
+/- warning: eventually_norm_pow_le -> eventually_norm_pow_le is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α), Filter.Eventually.{0} Nat (fun (n : Nat) => LE.le.{0} Real Real.hasLe (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} α (SeminormedRing.toHasNorm.{u1} α _inst_1) a) n)) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : SeminormedRing.{u1} α] (a : α), Filter.Eventually.{0} Nat (fun (n : Nat) => LE.le.{0} Real Real.instLEReal (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (SeminormedRing.toRing.{u1} α _inst_1)))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} α (SeminormedRing.toNorm.{u1} α _inst_1) a) n)) (Filter.atTop.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))
+Case conversion may be inaccurate. Consider using '#align eventually_norm_pow_le eventually_norm_pow_leₓ'. -/
 theorem eventually_norm_pow_le (a : α) : ∀ᶠ n : ℕ in atTop, ‖a ^ n‖ ≤ ‖a‖ ^ n :=
   eventually_atTop.mpr ⟨1, fun b h => norm_pow_le' a (Nat.succ_le_iff.mp h)⟩
 #align eventually_norm_pow_le eventually_norm_pow_le
 
-instance : SemiNormedRing (ULift α) :=
+instance : SeminormedRing (ULift α) :=
   { ULift.nonUnitalSemiNormedRing, ULift.seminormedAddCommGroup with }
 
+#print Prod.seminormedRing /-
 /-- Seminormed ring structure on the product of two seminormed rings,
   using the sup norm. -/
-instance Prod.semiNormedRing [SemiNormedRing β] : SemiNormedRing (α × β) :=
-  { Prod.nonUnitalSemiNormedRing, Prod.seminormedAddCommGroup with }
-#align prod.semi_normed_ring Prod.semiNormedRing
+instance Prod.seminormedRing [SeminormedRing β] : SeminormedRing (α × β) :=
+  { Prod.nonUnitalSeminormedRing, Prod.seminormedAddCommGroup with }
+#align prod.semi_normed_ring Prod.seminormedRing
+-/
 
+#print Pi.seminormedRing /-
 /-- Seminormed ring structure on the product of finitely many seminormed rings,
   using the sup norm. -/
-instance Pi.semiNormedRing {π : ι → Type _} [Fintype ι] [∀ i, SemiNormedRing (π i)] :
-    SemiNormedRing (∀ i, π i) :=
-  { Pi.nonUnitalSemiNormedRing, Pi.seminormedAddCommGroup with }
-#align pi.semi_normed_ring Pi.semiNormedRing
+instance Pi.seminormedRing {π : ι → Type _} [Fintype ι] [∀ i, SeminormedRing (π i)] :
+    SeminormedRing (∀ i, π i) :=
+  { Pi.nonUnitalSeminormedRing, Pi.seminormedAddCommGroup with }
+#align pi.semi_normed_ring Pi.seminormedRing
+-/
 
-instance MulOpposite.semiNormedRing : SemiNormedRing αᵐᵒᵖ :=
-  { MulOpposite.nonUnitalSemiNormedRing, MulOpposite.seminormedAddCommGroup with }
-#align mul_opposite.semi_normed_ring MulOpposite.semiNormedRing
+#print MulOpposite.seminormedRing /-
+instance MulOpposite.seminormedRing : SeminormedRing αᵐᵒᵖ :=
+  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.seminormedAddCommGroup with }
+#align mul_opposite.semi_normed_ring MulOpposite.seminormedRing
+-/
 
-end SemiNormedRing
+end SeminormedRing
 
 section NonUnitalNormedRing
 
@@ -402,22 +602,28 @@ variable [NonUnitalNormedRing α]
 instance : NonUnitalNormedRing (ULift α) :=
   { ULift.nonUnitalSemiNormedRing, ULift.seminormedAddCommGroup with }
 
+#print Prod.nonUnitalNormedRing /-
 /-- Non-unital normed ring structure on the product of two non-unital normed rings,
 using the sup norm. -/
 instance Prod.nonUnitalNormedRing [NonUnitalNormedRing β] : NonUnitalNormedRing (α × β) :=
   { Prod.seminormedAddCommGroup with norm_mul := norm_mul_le }
 #align prod.non_unital_normed_ring Prod.nonUnitalNormedRing
+-/
 
+#print Pi.nonUnitalNormedRing /-
 /-- Normed ring structure on the product of finitely many non-unital normed rings, using the sup
 norm. -/
 instance Pi.nonUnitalNormedRing {π : ι → Type _} [Fintype ι] [∀ i, NonUnitalNormedRing (π i)] :
     NonUnitalNormedRing (∀ i, π i) :=
   { Pi.normedAddCommGroup with norm_mul := norm_mul_le }
 #align pi.non_unital_normed_ring Pi.nonUnitalNormedRing
+-/
 
+#print MulOpposite.nonUnitalNormedRing /-
 instance MulOpposite.nonUnitalNormedRing : NonUnitalNormedRing αᵐᵒᵖ :=
   { MulOpposite.normedAddCommGroup with norm_mul := norm_mul_le }
 #align mul_opposite.non_unital_normed_ring MulOpposite.nonUnitalNormedRing
+-/
 
 end NonUnitalNormedRing
 
@@ -425,10 +631,22 @@ section NormedRing
 
 variable [NormedRing α]
 
+/- warning: units.norm_pos -> Units.norm_pos is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedRing.{u1} α] [_inst_2 : Nontrivial.{u1} α] (x : Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))), LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u1} α (NormedRing.toHasNorm.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (coeBase.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (Units.hasCoe.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1)))))) x))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedRing.{u1} α] [_inst_2 : Nontrivial.{u1} α] (x : Units.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (NormedRing.toRing.{u1} α _inst_1))))), LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u1} α (NormedRing.toNorm.{u1} α _inst_1) (Units.val.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (NormedRing.toRing.{u1} α _inst_1)))) x))
+Case conversion may be inaccurate. Consider using '#align units.norm_pos Units.norm_posₓ'. -/
 theorem Units.norm_pos [Nontrivial α] (x : αˣ) : 0 < ‖(x : α)‖ :=
   norm_pos_iff.mpr (Units.ne_zero x)
 #align units.norm_pos Units.norm_pos
 
+/- warning: units.nnnorm_pos -> Units.nnnorm_pos is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedRing.{u1} α] [_inst_2 : Nontrivial.{u1} α] (x : Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))), LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (OrderedCancelAddCommMonoid.toPartialOrder.{0} NNReal (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} NNReal NNReal.strictOrderedSemiring)))) (OfNat.ofNat.{0} NNReal 0 (OfNat.mk.{0} NNReal 0 (Zero.zero.{0} NNReal (MulZeroClass.toHasZero.{0} NNReal (NonUnitalNonAssocSemiring.toMulZeroClass.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring))))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (HasLiftT.mk.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (CoeTCₓ.coe.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (coeBase.{succ u1, succ u1} (Units.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1))) α (Units.hasCoe.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α _inst_1)))))) x))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedRing.{u1} α] [_inst_2 : Nontrivial.{u1} α] (x : Units.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (NormedRing.toRing.{u1} α _inst_1))))), LT.lt.{0} NNReal (Preorder.toLT.{0} NNReal (PartialOrder.toPreorder.{0} NNReal (StrictOrderedSemiring.toPartialOrder.{0} NNReal instNNRealStrictOrderedSemiring))) (OfNat.ofNat.{0} NNReal 0 (Zero.toOfNat0.{0} NNReal instNNRealZero)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α _inst_1))))) (Units.val.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (NormedRing.toRing.{u1} α _inst_1)))) x))
+Case conversion may be inaccurate. Consider using '#align units.nnnorm_pos Units.nnnorm_posₓ'. -/
 theorem Units.nnnorm_pos [Nontrivial α] (x : αˣ) : 0 < ‖(x : α)‖₊ :=
   x.norm_pos
 #align units.nnnorm_pos Units.nnnorm_pos
@@ -436,25 +654,37 @@ theorem Units.nnnorm_pos [Nontrivial α] (x : αˣ) : 0 < ‖(x : α)‖₊ :=
 instance : NormedRing (ULift α) :=
   { ULift.semiNormedRing, ULift.normedAddCommGroup with }
 
+#print Prod.normedRing /-
 /-- Normed ring structure on the product of two normed rings, using the sup norm. -/
 instance Prod.normedRing [NormedRing β] : NormedRing (α × β) :=
   { Prod.normedAddCommGroup with norm_mul := norm_mul_le }
 #align prod.normed_ring Prod.normedRing
+-/
 
+#print Pi.normedRing /-
 /-- Normed ring structure on the product of finitely many normed rings, using the sup norm. -/
 instance Pi.normedRing {π : ι → Type _} [Fintype ι] [∀ i, NormedRing (π i)] :
     NormedRing (∀ i, π i) :=
   { Pi.normedAddCommGroup with norm_mul := norm_mul_le }
 #align pi.normed_ring Pi.normedRing
+-/
 
+#print MulOpposite.normedRing /-
 instance MulOpposite.normedRing : NormedRing αᵐᵒᵖ :=
   { MulOpposite.normedAddCommGroup with norm_mul := norm_mul_le }
 #align mul_opposite.normed_ring MulOpposite.normedRing
+-/
 
 end NormedRing
 
+/- warning: semi_normed_ring_top_monoid -> semi_normed_ring_top_monoid is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α], ContinuousMul.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NonUnitalSeminormedRing.{u1} α], ContinuousMul.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (NonUnitalSeminormedRing.toPseudoMetricSpace.{u1} α _inst_1))) (NonUnitalNonAssocRing.toMul.{u1} α (NonUnitalRing.toNonUnitalNonAssocRing.{u1} α (NonUnitalSeminormedRing.toNonUnitalRing.{u1} α _inst_1)))
+Case conversion may be inaccurate. Consider using '#align semi_normed_ring_top_monoid semi_normed_ring_top_monoidₓ'. -/
 -- see Note [lower instance priority]
-instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSemiNormedRing α] :
+instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing α] :
     ContinuousMul α :=
   ⟨continuous_iff_continuousAt.2 fun x =>
       tendsto_iff_norm_tendsto_zero.2 <|
@@ -478,25 +708,36 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSemiNormedRing
         simp⟩
 #align semi_normed_ring_top_monoid semi_normed_ring_top_monoid
 
+#print semi_normed_top_ring /-
 -- see Note [lower instance priority]
 /-- A seminormed ring is a topological ring. -/
-instance (priority := 100) semi_normed_top_ring [NonUnitalSemiNormedRing α] : TopologicalRing α
+instance (priority := 100) semi_normed_top_ring [NonUnitalSeminormedRing α] : TopologicalRing α
     where
 #align semi_normed_top_ring semi_normed_top_ring
+-/
 
 section NormedDivisionRing
 
 variable [NormedDivisionRing α]
 
+/- warning: norm_mul -> norm_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a b)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) b))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a b)) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) b))
+Case conversion may be inaccurate. Consider using '#align norm_mul norm_mulₓ'. -/
 @[simp]
 theorem norm_mul (a b : α) : ‖a * b‖ = ‖a‖ * ‖b‖ :=
   NormedDivisionRing.norm_mul' a b
 #align norm_mul norm_mul
 
+#print NormedDivisionRing.to_normOneClass /-
 instance (priority := 900) NormedDivisionRing.to_normOneClass : NormOneClass α :=
   ⟨mul_left_cancel₀ (mt norm_eq_zero.1 (one_ne_zero' α)) <| by rw [← norm_mul, mul_one, mul_one]⟩
 #align normed_division_ring.to_norm_one_class NormedDivisionRing.to_normOneClass
+-/
 
+#print isAbsoluteValue_norm /-
 instance isAbsoluteValue_norm : IsAbsoluteValue (norm : α → ℝ)
     where
   abv_nonneg := norm_nonneg
@@ -504,78 +745,157 @@ instance isAbsoluteValue_norm : IsAbsoluteValue (norm : α → ℝ)
   abv_add := norm_add_le
   abv_mul := norm_mul
 #align is_absolute_value_norm isAbsoluteValue_norm
+-/
 
+/- warning: nnnorm_mul -> nnnorm_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a 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))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) b))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a b)) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) b))
+Case conversion may be inaccurate. Consider using '#align nnnorm_mul nnnorm_mulₓ'. -/
 @[simp]
 theorem nnnorm_mul (a b : α) : ‖a * b‖₊ = ‖a‖₊ * ‖b‖₊ :=
   NNReal.eq <| norm_mul a b
 #align nnnorm_mul nnnorm_mul
 
+#print normHom /-
 /-- `norm` as a `monoid_with_zero_hom`. -/
 @[simps]
 def normHom : α →*₀ ℝ :=
   ⟨norm, norm_zero, norm_one, norm_mul⟩
 #align norm_hom normHom
+-/
 
+#print nnnormHom /-
 /-- `nnnorm` as a `monoid_with_zero_hom`. -/
 @[simps]
 def nnnormHom : α →*₀ ℝ≥0 :=
   ⟨nnnorm, nnnorm_zero, nnnorm_one, nnnorm_mul⟩
 #align nnnorm_hom nnnormHom
+-/
 
+/- warning: norm_pow -> norm_pow is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Nat), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.monoid)) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) a) n)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Nat), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) a n)) (HPow.hPow.{0, 0, 0} Real Nat Real (instHPow.{0, 0} Real Nat (Monoid.Pow.{0} Real Real.instMonoidReal)) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) a) n)
+Case conversion may be inaccurate. Consider using '#align norm_pow norm_powₓ'. -/
 @[simp]
 theorem norm_pow (a : α) : ∀ n : ℕ, ‖a ^ n‖ = ‖a‖ ^ n :=
   (normHom.toMonoidHom : α →* ℝ).map_pow a
 #align norm_pow norm_pow
 
+/- warning: nnnorm_pow -> nnnorm_pow is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Nat), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal NNReal.semiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) n)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Nat), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) a n)) (HPow.hPow.{0, 0, 0} NNReal Nat NNReal (instHPow.{0, 0} NNReal Nat (Monoid.Pow.{0} NNReal (MonoidWithZero.toMonoid.{0} NNReal (Semiring.toMonoidWithZero.{0} NNReal instNNRealSemiring)))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) n)
+Case conversion may be inaccurate. Consider using '#align nnnorm_pow nnnorm_powₓ'. -/
 @[simp]
 theorem nnnorm_pow (a : α) (n : ℕ) : ‖a ^ n‖₊ = ‖a‖₊ ^ n :=
   (nnnormHom.toMonoidHom : α →* ℝ≥0).map_pow a n
 #align nnnorm_pow nnnorm_pow
 
+/- warning: list.norm_prod -> List.norm_prod is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) l)) (List.prod.{0} Real Real.hasMul Real.hasOne (List.map.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) l))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) l)) (List.prod.{0} Real Real.instMulReal Real.instOneReal (List.map.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) l))
+Case conversion may be inaccurate. Consider using '#align list.norm_prod List.norm_prodₓ'. -/
 protected theorem List.norm_prod (l : List α) : ‖l.Prod‖ = (l.map norm).Prod :=
   (normHom.toMonoidHom : α →* ℝ).map_list_prod _
 #align list.norm_prod List.norm_prod
 
+/- warning: list.nnnorm_prod -> List.nnnorm_prod is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (List.prod.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) l)) (List.prod.{0} NNReal (Distrib.toHasMul.{0} NNReal (NonUnitalNonAssocSemiring.toDistrib.{0} NNReal (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (AddMonoidWithOne.toOne.{0} NNReal (AddCommMonoidWithOne.toAddMonoidWithOne.{0} NNReal (NonAssocSemiring.toAddCommMonoidWithOne.{0} NNReal (Semiring.toNonAssocSemiring.{0} NNReal NNReal.semiring)))) (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) l))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (l : List.{u1} α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (List.prod.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) l)) (List.prod.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring) instNNRealOne (List.map.{u1, 0} α NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) l))
+Case conversion may be inaccurate. Consider using '#align list.nnnorm_prod List.nnnorm_prodₓ'. -/
 protected theorem List.nnnorm_prod (l : List α) : ‖l.Prod‖₊ = (l.map nnnorm).Prod :=
   (nnnormHom.toMonoidHom : α →* ℝ≥0).map_list_prod _
 #align list.nnnorm_prod List.nnnorm_prod
 
+/- warning: norm_div -> norm_div is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toHasDiv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) a b)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) b))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivisionRing.toDiv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) a b)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) a) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) b))
+Case conversion may be inaccurate. Consider using '#align norm_div norm_divₓ'. -/
 @[simp]
 theorem norm_div (a b : α) : ‖a / b‖ = ‖a‖ / ‖b‖ :=
   map_div₀ (normHom : α →*₀ ℝ) a b
 #align norm_div norm_div
 
+/- warning: nnnorm_div -> nnnorm_div is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toHasDiv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) a b)) (HDiv.hDiv.{0, 0, 0} NNReal NNReal NNReal (instHDiv.{0} NNReal NNReal.hasDiv) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) b))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (b : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivisionRing.toDiv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) a b)) (HDiv.hDiv.{0, 0, 0} NNReal NNReal NNReal (instHDiv.{0} NNReal (CanonicallyLinearOrderedSemifield.toDiv.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) b))
+Case conversion may be inaccurate. Consider using '#align nnnorm_div nnnorm_divₓ'. -/
 @[simp]
 theorem nnnorm_div (a b : α) : ‖a / b‖₊ = ‖a‖₊ / ‖b‖₊ :=
   map_div₀ (nnnormHom : α →*₀ ℝ≥0) a b
 #align nnnorm_div nnnorm_div
 
+/- warning: norm_inv -> norm_inv is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) a)) (Inv.inv.{0} Real Real.hasInv (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) a))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α), Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) a)) (Inv.inv.{0} Real Real.instInvReal (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) a))
+Case conversion may be inaccurate. Consider using '#align norm_inv norm_invₓ'. -/
 @[simp]
 theorem norm_inv (a : α) : ‖a⁻¹‖ = ‖a‖⁻¹ :=
   map_inv₀ (normHom : α →*₀ ℝ) a
 #align norm_inv norm_inv
 
+/- warning: nnnorm_inv -> nnnorm_inv is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) a)) (Inv.inv.{0} NNReal (DivInvMonoid.toHasInv.{0} NNReal (GroupWithZero.toDivInvMonoid.{0} NNReal (DivisionSemiring.toGroupWithZero.{0} NNReal (Semifield.toDivisionSemiring.{0} NNReal (LinearOrderedSemifield.toSemifield.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedSemifield.{0} NNReal NNReal.canonicallyLinearOrderedSemifield)))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) a)) (Inv.inv.{0} NNReal (CanonicallyLinearOrderedSemifield.toInv.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a))
+Case conversion may be inaccurate. Consider using '#align nnnorm_inv nnnorm_invₓ'. -/
 @[simp]
 theorem nnnorm_inv (a : α) : ‖a⁻¹‖₊ = ‖a‖₊⁻¹ :=
   NNReal.eq <| by simp
 #align nnnorm_inv nnnorm_inv
 
+#print norm_zpow /-
 @[simp]
 theorem norm_zpow : ∀ (a : α) (n : ℤ), ‖a ^ n‖ = ‖a‖ ^ n :=
   map_zpow₀ (normHom : α →*₀ ℝ)
 #align norm_zpow norm_zpow
+-/
 
+/- warning: nnnorm_zpow -> nnnorm_zpow is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Int), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HPow.hPow.{u1, 0, u1} α Int α (instHPow.{u1, 0} α Int (DivInvMonoid.Pow.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Int NNReal (instHPow.{0, 0} NNReal Int (DivInvMonoid.Pow.{0} NNReal (GroupWithZero.toDivInvMonoid.{0} NNReal (DivisionSemiring.toGroupWithZero.{0} NNReal (Semifield.toDivisionSemiring.{0} NNReal (LinearOrderedSemifield.toSemifield.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedSemifield.{0} NNReal NNReal.canonicallyLinearOrderedSemifield))))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) n)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] (a : α) (n : Int), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (HPow.hPow.{u1, 0, u1} α Int α (instHPow.{u1, 0} α Int (DivInvMonoid.Pow.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))) a n)) (HPow.hPow.{0, 0, 0} NNReal Int NNReal (instHPow.{0, 0} NNReal Int (DivInvMonoid.Pow.{0} NNReal (GroupWithZero.toDivInvMonoid.{0} NNReal (DivisionSemiring.toGroupWithZero.{0} NNReal (Semifield.toDivisionSemiring.{0} NNReal (LinearOrderedSemifield.toSemifield.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedSemifield.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal))))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) a) n)
+Case conversion may be inaccurate. Consider using '#align nnnorm_zpow nnnorm_zpowₓ'. -/
 @[simp]
 theorem nnnorm_zpow : ∀ (a : α) (n : ℤ), ‖a ^ n‖₊ = ‖a‖₊ ^ n :=
   map_zpow₀ (nnnormHom : α →*₀ ℝ≥0)
 #align nnnorm_zpow nnnorm_zpow
 
+/- warning: dist_inv_inv₀ -> dist_inv_inv₀ is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {z : α} {w : α}, (Ne.{succ u1} α z (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Ne.{succ u1} α w (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Eq.{1} Real (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) z) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) w)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (DivInvMonoid.toHasDiv.{0} Real (DivisionRing.toDivInvMonoid.{0} Real Real.divisionRing))) (Dist.dist.{u1} α (PseudoMetricSpace.toHasDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) z w) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) z) (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) w))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {z : α} {w : α}, (Ne.{succ u1} α z (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Ne.{succ u1} α w (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Eq.{1} Real (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) z) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) w)) (HDiv.hDiv.{0, 0, 0} Real Real Real (instHDiv.{0} Real (LinearOrderedField.toDiv.{0} Real Real.instLinearOrderedFieldReal)) (Dist.dist.{u1} α (PseudoMetricSpace.toDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) z w) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) z) (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) w))))
+Case conversion may be inaccurate. Consider using '#align dist_inv_inv₀ dist_inv_inv₀ₓ'. -/
 theorem dist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) : dist z⁻¹ w⁻¹ = dist z w / (‖z‖ * ‖w‖) :=
   by
   rw [dist_eq_norm, inv_sub_inv' hz hw, norm_mul, norm_mul, norm_inv, norm_inv, mul_comm ‖z‖⁻¹,
     mul_assoc, dist_eq_norm', div_eq_mul_inv, mul_inv]
 #align dist_inv_inv₀ dist_inv_inv₀
 
+/- warning: nndist_inv_inv₀ -> nndist_inv_inv₀ is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {z : α} {w : α}, (Ne.{succ u1} α z (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Ne.{succ u1} α w (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Eq.{1} NNReal (NNDist.nndist.{u1} α (PseudoMetricSpace.toNNDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) z) (Inv.inv.{u1} α (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) w)) (HDiv.hDiv.{0, 0, 0} NNReal NNReal NNReal (instHDiv.{0} NNReal NNReal.hasDiv) (NNDist.nndist.{u1} α (PseudoMetricSpace.toNNDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) z w) (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))))) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) z) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) w))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {z : α} {w : α}, (Ne.{succ u1} α z (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Ne.{succ u1} α w (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Eq.{1} NNReal (NNDist.nndist.{u1} α (PseudoMetricSpace.toNNDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) z) (Inv.inv.{u1} α (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) w)) (HDiv.hDiv.{0, 0, 0} NNReal NNReal NNReal (instHDiv.{0} NNReal (CanonicallyLinearOrderedSemifield.toDiv.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)) (NNDist.nndist.{u1} α (PseudoMetricSpace.toNNDist.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))) z w) (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) z) (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) w))))
+Case conversion may be inaccurate. Consider using '#align nndist_inv_inv₀ nndist_inv_inv₀ₓ'. -/
 theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
     nndist z⁻¹ w⁻¹ = nndist z w / (‖z‖₊ * ‖w‖₊) :=
   by
@@ -583,6 +903,12 @@ theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
   simp [-NNReal.coe_eq, dist_inv_inv₀ hz hw]
 #align nndist_inv_inv₀ nndist_inv_inv₀
 
+/- warning: filter.tendsto_mul_left_cobounded -> Filter.tendsto_mul_left_cobounded is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Filter.Tendsto.{u1, u1} α α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α ((fun (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5229 : α) (x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5231 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5229 x._@.Mathlib.Analysis.Normed.Field.Basic._hyg.5231) a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
+Case conversion may be inaccurate. Consider using '#align filter.tendsto_mul_left_cobounded Filter.tendsto_mul_left_coboundedₓ'. -/
 /-- Multiplication on the left by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
 theorem Filter.tendsto_mul_left_cobounded {a : α} (ha : a ≠ 0) :
@@ -591,6 +917,12 @@ theorem Filter.tendsto_mul_left_cobounded {a : α} (ha : a ≠ 0) :
     tendsto_const_nhds.mul_at_top (norm_pos_iff.2 ha) tendsto_comap
 #align filter.tendsto_mul_left_cobounded Filter.tendsto_mul_left_cobounded
 
+/- warning: filter.tendsto_mul_right_cobounded -> Filter.tendsto_mul_right_cobounded is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))))) -> (Filter.Tendsto.{u1, u1} α α (fun (x : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) x a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.preorder)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {a : α}, (Ne.{succ u1} α a (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} α α (fun (x : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) x a) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)) (Filter.comap.{u1, 0} α Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1)) (Filter.atTop.{0} Real Real.instPreorderReal)))
+Case conversion may be inaccurate. Consider using '#align filter.tendsto_mul_right_cobounded Filter.tendsto_mul_right_coboundedₓ'. -/
 /-- Multiplication on the right by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
 theorem Filter.tendsto_mul_right_cobounded {a : α} (ha : a ≠ 0) :
@@ -599,6 +931,12 @@ theorem Filter.tendsto_mul_right_cobounded {a : α} (ha : a ≠ 0) :
     tendsto_comap.at_top_mul (norm_pos_iff.2 ha) tendsto_const_nhds
 #align filter.tendsto_mul_right_cobounded Filter.tendsto_mul_right_cobounded
 
+/- warning: normed_division_ring.to_has_continuous_inv₀ -> NormedDivisionRing.to_hasContinuousInv₀ is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], HasContinuousInv₀.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) (DivInvMonoid.toHasInv.{u1} α (DivisionRing.toDivInvMonoid.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))) (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α], HasContinuousInv₀.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))) (DivisionRing.toInv.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1)) (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (NormedRing.toSeminormedRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align normed_division_ring.to_has_continuous_inv₀ NormedDivisionRing.to_hasContinuousInv₀ₓ'. -/
 -- see Note [lower instance priority]
 instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContinuousInv₀ α :=
   by
@@ -622,12 +960,20 @@ instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContin
   simp
 #align normed_division_ring.to_has_continuous_inv₀ NormedDivisionRing.to_hasContinuousInv₀
 
+#print NormedDivisionRing.to_topologicalDivisionRing /-
 -- see Note [lower instance priority]
 /-- A normed division ring is a topological division ring. -/
 instance (priority := 100) NormedDivisionRing.to_topologicalDivisionRing : TopologicalDivisionRing α
     where
 #align normed_division_ring.to_topological_division_ring NormedDivisionRing.to_topologicalDivisionRing
+-/
 
+/- warning: norm_map_one_of_pow_eq_one -> norm_map_one_of_pow_eq_one is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedDivisionRing.{u1} α] [_inst_2 : Monoid.{u2} β] (φ : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) {x : β} {k : PNat}, (Eq.{succ u2} β (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β _inst_2)) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) PNat Nat (HasLiftT.mk.{1, 1} PNat Nat (CoeTCₓ.coe.{1, 1} PNat Nat (coeBase.{1, 1} PNat Nat coePNatNat))) k)) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β (MulOneClass.toHasOne.{u2} β (Monoid.toMulOneClass.{u2} β _inst_2)))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) (coeFn.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) (fun (_x : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) => β -> α) (MonoidHom.hasCoeToFun.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) φ x)) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedDivisionRing.{u1} α] [_inst_2 : Monoid.{u2} β] (φ : MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) {x : β} {k : PNat}, (Eq.{succ u2} β (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β _inst_2)) x (PNat.val k)) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Monoid.toOne.{u2} β _inst_2)))) -> (Eq.{1} Real (Norm.norm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) x) (NormedDivisionRing.toNorm.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) x) _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, succ u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : β) => α) _x) (MulHomClass.toFunLike.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) β α (MulOneClass.toMul.{u2} β (Monoid.toMulOneClass.{u2} β _inst_2)) (MulOneClass.toMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) (MonoidHomClass.toMulHomClass.{max u1 u2, u2, u1} (MonoidHom.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))) (MonoidHom.monoidHomClass.{u2, u1} β α (Monoid.toMulOneClass.{u2} β _inst_2) (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))))) φ x)) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
+Case conversion may be inaccurate. Consider using '#align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_oneₓ'. -/
 theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ (k : ℕ) = 1) :
     ‖φ x‖ = 1 :=
   by
@@ -635,34 +981,47 @@ theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : 
   exacts[norm_nonneg _, zero_le_one, k.pos]
 #align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_one
 
+/- warning: norm_one_of_pow_eq_one -> norm_one_of_pow_eq_one is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {x : α} {k : PNat}, (Eq.{succ u1} α (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))) x ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) PNat Nat (HasLiftT.mk.{1, 1} PNat Nat (CoeTCₓ.coe.{1, 1} PNat Nat (coeBase.{1, 1} PNat Nat coePNatNat))) k)) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddGroupWithOne.toAddMonoidWithOne.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1)))))))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toHasNorm.{u1} α _inst_1) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NormedDivisionRing.{u1} α] {x : α} {k : PNat}, (Eq.{succ u1} α (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (DivisionRing.toDivisionSemiring.{u1} α (NormedDivisionRing.toDivisionRing.{u1} α _inst_1))))))) x (PNat.val k)) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (NonAssocRing.toOne.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedDivisionRing.toNormedRing.{u1} α _inst_1))))))) -> (Eq.{1} Real (Norm.norm.{u1} α (NormedDivisionRing.toNorm.{u1} α _inst_1) x) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)))
+Case conversion may be inaccurate. Consider using '#align norm_one_of_pow_eq_one norm_one_of_pow_eq_oneₓ'. -/
 theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖x‖ = 1 :=
   norm_map_one_of_pow_eq_one (MonoidHom.id α) h
 #align norm_one_of_pow_eq_one norm_one_of_pow_eq_one
 
 end NormedDivisionRing
 
+#print NormedField /-
 /-- A normed field is a field with a norm satisfying ‖x y‖ = ‖x‖ ‖y‖. -/
 class NormedField (α : Type _) extends Norm α, Field α, MetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul' : ∀ a b, norm (a * b) = norm a * norm b
 #align normed_field NormedField
+-/
 
+#print NontriviallyNormedField /-
 /-- A nontrivially normed field is a normed field in which there is an element of norm different
 from `0` and `1`. This makes it possible to bring any element arbitrarily close to `0` by
 multiplication by the powers of any element, and thus to relate algebra and topology. -/
 class NontriviallyNormedField (α : Type _) extends NormedField α where
   non_trivial : ∃ x : α, 1 < ‖x‖
 #align nontrivially_normed_field NontriviallyNormedField
+-/
 
+#print DenselyNormedField /-
 /-- A densely normed field is a normed field for which the image of the norm is dense in `ℝ≥0`,
 which means it is also nontrivially normed. However, not all nontrivally normed fields are densely
 normed; in particular, the `padic`s exhibit this fact. -/
 class DenselyNormedField (α : Type _) extends NormedField α where
   lt_norm_lt : ∀ x y : ℝ, 0 ≤ x → x < y → ∃ a : α, x < ‖a‖ ∧ ‖a‖ < y
 #align densely_normed_field DenselyNormedField
+-/
 
 section NormedField
 
+#print DenselyNormedField.toNontriviallyNormedField /-
 /-- A densely normed field is always a nontrivially normed field.
 See note [lower instance priority]. -/
 instance (priority := 100) DenselyNormedField.toNontriviallyNormedField [DenselyNormedField α] :
@@ -671,24 +1030,37 @@ instance (priority := 100) DenselyNormedField.toNontriviallyNormedField [Densely
     let ⟨a, h, _⟩ := DenselyNormedField.lt_norm_lt 1 2 zero_le_one one_lt_two
     ⟨a, h⟩
 #align densely_normed_field.to_nontrivially_normed_field DenselyNormedField.toNontriviallyNormedField
+-/
 
 variable [NormedField α]
 
+#print NormedField.toNormedDivisionRing /-
 -- see Note [lower instance priority]
 instance (priority := 100) NormedField.toNormedDivisionRing : NormedDivisionRing α :=
   { ‹NormedField α› with }
 #align normed_field.to_normed_division_ring NormedField.toNormedDivisionRing
+-/
 
+#print NormedField.toNormedCommRing /-
 -- see Note [lower instance priority]
 instance (priority := 100) NormedField.toNormedCommRing : NormedCommRing α :=
   { ‹NormedField α› with norm_mul := fun a b => (norm_mul a b).le }
 #align normed_field.to_normed_comm_ring NormedField.toNormedCommRing
+-/
 
+#print norm_prod /-
 @[simp]
 theorem norm_prod (s : Finset β) (f : β → α) : ‖∏ b in s, f b‖ = ∏ b in s, ‖f b‖ :=
   (normHom.toMonoidHom : α →* ℝ).map_prod f s
 #align norm_prod norm_prod
+-/
 
+/- warning: nnnorm_prod -> nnnorm_prod is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedField.{u1} α] (s : Finset.{u2} β) (f : β -> α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α _inst_1))))))) (Finset.prod.{u1, u2} α β (CommRing.toCommMonoid.{u1} α (SeminormedCommRing.toCommRing.{u1} α (NormedCommRing.toSeminormedCommRing.{u1} α (NormedField.toNormedCommRing.{u1} α _inst_1)))) s (fun (b : β) => f b))) (Finset.prod.{0, u2} NNReal β (OrderedCommMonoid.toCommMonoid.{0} NNReal (CanonicallyOrderedCommSemiring.toOrderedCommMonoid.{0} NNReal NNReal.canonicallyOrderedCommSemiring)) s (fun (b : β) => NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α _inst_1))))))) (f b)))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NormedField.{u1} α] (s : Finset.{u2} β) (f : β -> α), Eq.{1} NNReal (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α _inst_1))))))) (Finset.prod.{u1, u2} α β (CommRing.toCommMonoid.{u1} α (EuclideanDomain.toCommRing.{u1} α (Field.toEuclideanDomain.{u1} α (NormedField.toField.{u1} α _inst_1)))) s (fun (b : β) => f b))) (Finset.prod.{0, u2} NNReal β (LinearOrderedCommMonoid.toCommMonoid.{0} NNReal (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{0} NNReal (LinearOrderedCommGroupWithZero.toLinearOrderedCommMonoidWithZero.{0} NNReal (CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero.{0} NNReal NNReal.instCanonicallyLinearOrderedSemifieldNNReal)))) s (fun (b : β) => NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α _inst_1))))))) (f b)))
+Case conversion may be inaccurate. Consider using '#align nnnorm_prod nnnorm_prodₓ'. -/
 @[simp]
 theorem nnnorm_prod (s : Finset β) (f : β → α) : ‖∏ b in s, f b‖₊ = ∏ b in s, ‖f b‖₊ :=
   (nnnormHom.toMonoidHom : α →* ℝ≥0).map_prod f s
@@ -702,27 +1074,57 @@ section Nontrivially
 
 variable (α) [NontriviallyNormedField α]
 
+/- warning: normed_field.exists_one_lt_norm -> NormedField.exists_one_lt_norm is a dubious translation:
+lean 3 declaration is
+  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α], Exists.{succ u1} α (fun (x : α) => LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne))) (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x))
+but is expected to have type
+  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α], Exists.{succ u1} α (fun (x : α) => LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal)) (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x))
+Case conversion may be inaccurate. Consider using '#align normed_field.exists_one_lt_norm NormedField.exists_one_lt_normₓ'. -/
 theorem exists_one_lt_norm : ∃ x : α, 1 < ‖x‖ :=
   ‹NontriviallyNormedField α›.non_trivial
 #align normed_field.exists_one_lt_norm NormedField.exists_one_lt_norm
 
+/- warning: normed_field.exists_lt_norm -> NormedField.exists_lt_norm is a dubious translation:
+lean 3 declaration is
+  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α] (r : Real), Exists.{succ u1} α (fun (x : α) => LT.lt.{0} Real Real.hasLt r (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x))
+but is expected to have type
+  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α] (r : Real), Exists.{succ u1} α (fun (x : α) => LT.lt.{0} Real Real.instLTReal r (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x))
+Case conversion may be inaccurate. Consider using '#align normed_field.exists_lt_norm NormedField.exists_lt_normₓ'. -/
 theorem exists_lt_norm (r : ℝ) : ∃ x : α, r < ‖x‖ :=
   let ⟨w, hw⟩ := exists_one_lt_norm α
   let ⟨n, hn⟩ := pow_unbounded_of_one_lt r hw
   ⟨w ^ n, by rwa [norm_pow]⟩
 #align normed_field.exists_lt_norm NormedField.exists_lt_norm
 
+/- warning: normed_field.exists_norm_lt -> NormedField.exists_norm_lt is a dubious translation:
+lean 3 declaration is
+  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α] {r : Real}, (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x) r)))
+but is expected to have type
+  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α] {r : Real}, (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x) r)))
+Case conversion may be inaccurate. Consider using '#align normed_field.exists_norm_lt NormedField.exists_norm_ltₓ'. -/
 theorem exists_norm_lt {r : ℝ} (hr : 0 < r) : ∃ x : α, 0 < ‖x‖ ∧ ‖x‖ < r :=
   let ⟨w, hw⟩ := exists_lt_norm α r⁻¹
   ⟨w⁻¹, by rwa [← Set.mem_Ioo, norm_inv, ← Set.mem_inv, Set.inv_Ioo_0_left hr]⟩
 #align normed_field.exists_norm_lt NormedField.exists_norm_lt
 
+/- warning: normed_field.exists_norm_lt_one -> NormedField.exists_norm_lt_one is a dubious translation:
+lean 3 declaration is
+  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α], Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x) (OfNat.ofNat.{0} Real 1 (OfNat.mk.{0} Real 1 (One.one.{0} Real Real.hasOne)))))
+but is expected to have type
+  forall (α : Type.{u1}) [_inst_1 : NontriviallyNormedField.{u1} α], Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)) x) (OfNat.ofNat.{0} Real 1 (One.toOfNat1.{0} Real Real.instOneReal))))
+Case conversion may be inaccurate. Consider using '#align normed_field.exists_norm_lt_one NormedField.exists_norm_lt_oneₓ'. -/
 theorem exists_norm_lt_one : ∃ x : α, 0 < ‖x‖ ∧ ‖x‖ < 1 :=
   exists_norm_lt α one_pos
 #align normed_field.exists_norm_lt_one NormedField.exists_norm_lt_one
 
 variable {α}
 
+/- warning: normed_field.punctured_nhds_ne_bot -> NormedField.punctured_nhds_neBot is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} α] (x : α), Filter.NeBot.{u1} α (nhdsWithin.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (SeminormedCommRing.toSemiNormedRing.{u1} α (NormedCommRing.toSeminormedCommRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))))) x (HasCompl.compl.{u1} (Set.{u1} α) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} α) (Set.booleanAlgebra.{u1} α)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} α] (x : α), Filter.NeBot.{u1} α (nhdsWithin.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (SeminormedCommRing.toSeminormedRing.{u1} α (NormedCommRing.toSeminormedCommRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))))) x (HasCompl.compl.{u1} (Set.{u1} α) (BooleanAlgebra.toHasCompl.{u1} (Set.{u1} α) (Set.instBooleanAlgebraSet.{u1} α)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)))
+Case conversion may be inaccurate. Consider using '#align normed_field.punctured_nhds_ne_bot NormedField.punctured_nhds_neBotₓ'. -/
 @[instance]
 theorem punctured_nhds_neBot (x : α) : NeBot (𝓝[≠] x) :=
   by
@@ -733,6 +1135,12 @@ theorem punctured_nhds_neBot (x : α) : NeBot (𝓝[≠] x) :=
   rwa [dist_comm, dist_eq_norm, add_sub_cancel']
 #align normed_field.punctured_nhds_ne_bot NormedField.punctured_nhds_neBot
 
+/- warning: normed_field.nhds_within_is_unit_ne_bot -> NormedField.nhdsWithin_isUnit_neBot is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} α], Filter.NeBot.{u1} α (nhdsWithin.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (SeminormedCommRing.toSemiNormedRing.{u1} α (NormedCommRing.toSeminormedCommRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (NormedRing.toRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)))))))))))) (setOf.{u1} α (fun (x : α) => IsUnit.{u1} α (Ring.toMonoid.{u1} α (NormedRing.toRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))) x)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : NontriviallyNormedField.{u1} α], Filter.NeBot.{u1} α (nhdsWithin.{u1} α (UniformSpace.toTopologicalSpace.{u1} α (PseudoMetricSpace.toUniformSpace.{u1} α (SeminormedRing.toPseudoMetricSpace.{u1} α (SeminormedCommRing.toSeminormedRing.{u1} α (NormedCommRing.toSeminormedCommRing.{u1} α (NormedField.toNormedCommRing.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommGroupWithZero.toCommMonoidWithZero.{u1} α (Semifield.toCommGroupWithZero.{u1} α (Field.toSemifield.{u1} α (NormedField.toField.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1)))))))) (setOf.{u1} α (fun (x : α) => IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (DivisionSemiring.toSemiring.{u1} α (Semifield.toDivisionSemiring.{u1} α (Field.toSemifield.{u1} α (NormedField.toField.{u1} α (NontriviallyNormedField.toNormedField.{u1} α _inst_1))))))) x)))
+Case conversion may be inaccurate. Consider using '#align normed_field.nhds_within_is_unit_ne_bot NormedField.nhdsWithin_isUnit_neBotₓ'. -/
 @[instance]
 theorem nhdsWithin_isUnit_neBot : NeBot (𝓝[{ x : α | IsUnit x }] 0) := by
   simpa only [isUnit_iff_ne_zero] using punctured_nhds_ne_bot (0 : α)
@@ -744,14 +1152,28 @@ section Densely
 
 variable (α) [DenselyNormedField α]
 
+/- warning: normed_field.exists_lt_norm_lt -> NormedField.exists_lt_norm_lt is a dubious translation:
+lean 3 declaration is
+  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α] {r₁ : Real} {r₂ : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) r₁) -> (LT.lt.{0} Real Real.hasLt r₁ r₂) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.hasLt r₁ (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.hasLt (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)) x) r₂)))
+but is expected to have type
+  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α] {r₁ : Real} {r₂ : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) r₁) -> (LT.lt.{0} Real Real.instLTReal r₁ r₂) -> (Exists.{succ u1} α (fun (x : α) => And (LT.lt.{0} Real Real.instLTReal r₁ (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)) x)) (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)) x) r₂)))
+Case conversion may be inaccurate. Consider using '#align normed_field.exists_lt_norm_lt NormedField.exists_lt_norm_ltₓ'. -/
 theorem exists_lt_norm_lt {r₁ r₂ : ℝ} (h₀ : 0 ≤ r₁) (h : r₁ < r₂) : ∃ x : α, r₁ < ‖x‖ ∧ ‖x‖ < r₂ :=
   DenselyNormedField.lt_norm_lt r₁ r₂ h₀ h
 #align normed_field.exists_lt_norm_lt NormedField.exists_lt_norm_lt
 
+#print NormedField.exists_lt_nnnorm_lt /-
 theorem exists_lt_nnnorm_lt {r₁ r₂ : ℝ≥0} (h : r₁ < r₂) : ∃ x : α, r₁ < ‖x‖₊ ∧ ‖x‖₊ < r₂ := by
   exact_mod_cast exists_lt_norm_lt α r₁.prop h
 #align normed_field.exists_lt_nnnorm_lt NormedField.exists_lt_nnnorm_lt
+-/
 
+/- warning: normed_field.densely_ordered_range_norm -> NormedField.denselyOrdered_range_norm is a dubious translation:
+lean 3 declaration is
+  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenselyOrdered.{0} (coeSort.{1, 2} (Set.{0} Real) Type (Set.hasCoeToSort.{0} Real) (Set.range.{0, succ u1} Real α (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))) (Subtype.hasLt.{0} Real Real.hasLt (fun (x : Real) => Membership.Mem.{0, 0} Real (Set.{0} Real) (Set.hasMem.{0} Real) x (Set.range.{0, succ u1} Real α (Norm.norm.{u1} α (NormedField.toHasNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))
+but is expected to have type
+  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenselyOrdered.{0} (Set.Elem.{0} Real (Set.range.{0, succ u1} Real α (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))) (Subtype.lt.{0} Real Real.instLTReal (fun (x : Real) => Membership.mem.{0, 0} Real (Set.{0} Real) (Set.instMembershipSet.{0} Real) x (Set.range.{0, succ u1} Real α (Norm.norm.{u1} α (NormedField.toNorm.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align normed_field.densely_ordered_range_norm NormedField.denselyOrdered_range_normₓ'. -/
 instance denselyOrdered_range_norm : DenselyOrdered (Set.range (norm : α → ℝ))
     where dense := by
     rintro ⟨-, x, rfl⟩ ⟨-, y, rfl⟩ hxy
@@ -760,6 +1182,7 @@ instance denselyOrdered_range_norm : DenselyOrdered (Set.range (norm : α → 
       ⟨⟨‖z‖, z, rfl⟩, h⟩
 #align normed_field.densely_ordered_range_norm NormedField.denselyOrdered_range_norm
 
+#print NormedField.denselyOrdered_range_nnnorm /-
 instance denselyOrdered_range_nnnorm : DenselyOrdered (Set.range (nnnorm : α → ℝ≥0))
     where dense := by
     rintro ⟨-, x, rfl⟩ ⟨-, y, rfl⟩ hxy
@@ -767,7 +1190,14 @@ instance denselyOrdered_range_nnnorm : DenselyOrdered (Set.range (nnnorm : α 
       let ⟨z, h⟩ := exists_lt_nnnorm_lt α hxy
       ⟨⟨‖z‖₊, z, rfl⟩, h⟩
 #align normed_field.densely_ordered_range_nnnorm NormedField.denselyOrdered_range_nnnorm
+-/
 
+/- warning: normed_field.dense_range_nnnorm -> NormedField.denseRange_nnnorm is a dubious translation:
+lean 3 declaration is
+  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenseRange.{0, u1} NNReal NNReal.topologicalSpace α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))))
+but is expected to have type
+  forall (α : Type.{u1}) [_inst_1 : DenselyNormedField.{u1} α], DenseRange.{0, u1} NNReal NNReal.instTopologicalSpaceNNReal α (NNNorm.nnnorm.{u1} α (SeminormedAddGroup.toNNNorm.{u1} α (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} α (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{u1} α (NonUnitalNormedRing.toNonUnitalSeminormedRing.{u1} α (NormedRing.toNonUnitalNormedRing.{u1} α (NormedCommRing.toNormedRing.{u1} α (NormedField.toNormedCommRing.{u1} α (DenselyNormedField.toNormedField.{u1} α _inst_1)))))))))
+Case conversion may be inaccurate. Consider using '#align normed_field.dense_range_nnnorm NormedField.denseRange_nnnormₓ'. -/
 theorem denseRange_nnnorm : DenseRange (nnnorm : α → ℝ≥0) :=
   dense_of_exists_between fun _ _ hr =>
     let ⟨x, h⟩ := exists_lt_nnnorm_lt α hr
@@ -791,10 +1221,22 @@ noncomputable instance : DenselyNormedField ℝ
 
 namespace Real
 
+/- warning: real.to_nnreal_mul_nnnorm -> Real.toNNReal_mul_nnnorm is a dubious translation:
+lean 3 declaration is
+  forall {x : Real} (y : Real), (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) x) -> (Eq.{1} NNReal (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))))) (Real.toNNReal x) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) y)) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) x y)))
+but is expected to have type
+  forall {x : Real} (y : Real), (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) x) -> (Eq.{1} NNReal (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (Real.toNNReal x) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) y)) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) x y)))
+Case conversion may be inaccurate. Consider using '#align real.to_nnreal_mul_nnnorm Real.toNNReal_mul_nnnormₓ'. -/
 theorem toNNReal_mul_nnnorm {x : ℝ} (y : ℝ) (hx : 0 ≤ x) : x.toNNReal * ‖y‖₊ = ‖x * y‖₊ := by
   simp [Real.toNNReal_of_nonneg, nnnorm, norm_of_nonneg, hx]
 #align real.to_nnreal_mul_nnnorm Real.toNNReal_mul_nnnorm
 
+/- warning: real.nnnorm_mul_to_nnreal -> Real.nnnorm_mul_toNNReal is a dubious translation:
+lean 3 declaration is
+  forall (x : Real) {y : Real}, (LE.le.{0} Real Real.hasLe (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) y) -> (Eq.{1} NNReal (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))))) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) x) (Real.toNNReal y)) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.hasMul) x y)))
+but is expected to have type
+  forall (x : Real) {y : Real}, (LE.le.{0} Real Real.instLEReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) y) -> (Eq.{1} NNReal (HMul.hMul.{0, 0, 0} NNReal NNReal NNReal (instHMul.{0} NNReal (CanonicallyOrderedCommSemiring.toMul.{0} NNReal instNNRealCanonicallyOrderedCommSemiring)) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) x) (Real.toNNReal y)) (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) (HMul.hMul.{0, 0, 0} Real Real Real (instHMul.{0} Real Real.instMulReal) x y)))
+Case conversion may be inaccurate. Consider using '#align real.nnnorm_mul_to_nnreal Real.nnnorm_mul_toNNRealₓ'. -/
 theorem nnnorm_mul_toNNReal (x : ℝ) {y : ℝ} (hy : 0 ≤ y) : ‖x‖₊ * y.toNNReal = ‖x * y‖₊ := by
   simp [Real.toNNReal_of_nonneg, nnnorm, norm_of_nonneg, hy]
 #align real.nnnorm_mul_to_nnreal Real.nnnorm_mul_toNNReal
@@ -805,10 +1247,22 @@ namespace NNReal
 
 open NNReal
 
+/- warning: nnreal.norm_eq -> NNReal.norm_eq is a dubious translation:
+lean 3 declaration is
+  forall (x : NNReal), Eq.{1} Real (Norm.norm.{0} Real Real.hasNorm ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe))) x)) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe))) x)
+but is expected to have type
+  forall (x : NNReal), Eq.{1} Real (Norm.norm.{0} Real Real.norm (NNReal.toReal x)) (NNReal.toReal x)
+Case conversion may be inaccurate. Consider using '#align nnreal.norm_eq NNReal.norm_eqₓ'. -/
 @[simp]
 theorem norm_eq (x : ℝ≥0) : ‖(x : ℝ)‖ = x := by rw [Real.norm_eq_abs, x.abs_eq]
 #align nnreal.norm_eq NNReal.norm_eq
 
+/- warning: nnreal.nnnorm_eq -> NNReal.nnnorm_eq is a dubious translation:
+lean 3 declaration is
+  forall (x : NNReal), Eq.{1} NNReal (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) NNReal Real (HasLiftT.mk.{1, 1} NNReal Real (CoeTCₓ.coe.{1, 1} NNReal Real (coeBase.{1, 1} NNReal Real NNReal.Real.hasCoe))) x)) x
+but is expected to have type
+  forall (x : NNReal), Eq.{1} NNReal (NNNorm.nnnorm.{0} Real (SeminormedAddGroup.toNNNorm.{0} Real (SeminormedAddCommGroup.toSeminormedAddGroup.{0} Real (NonUnitalSeminormedRing.toSeminormedAddCommGroup.{0} Real (NonUnitalNormedRing.toNonUnitalSeminormedRing.{0} Real (NormedRing.toNonUnitalNormedRing.{0} Real (NormedCommRing.toNormedRing.{0} Real Real.normedCommRing)))))) (NNReal.toReal x)) x
+Case conversion may be inaccurate. Consider using '#align nnreal.nnnorm_eq NNReal.nnnorm_eqₓ'. -/
 @[simp]
 theorem nnnorm_eq (x : ℝ≥0) : ‖(x : ℝ)‖₊ = x :=
   NNReal.eq <| Real.norm_of_nonneg x.2
@@ -816,16 +1270,30 @@ theorem nnnorm_eq (x : ℝ≥0) : ‖(x : ℝ)‖₊ = x :=
 
 end NNReal
 
+/- warning: norm_norm -> norm_norm is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} α] (x : α), Eq.{1} Real (Norm.norm.{0} Real Real.hasNorm (Norm.norm.{u1} α (SeminormedAddCommGroup.toHasNorm.{u1} α _inst_1) x)) (Norm.norm.{u1} α (SeminormedAddCommGroup.toHasNorm.{u1} α _inst_1) x)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : SeminormedAddCommGroup.{u1} α] (x : α), Eq.{1} Real (Norm.norm.{0} Real Real.norm (Norm.norm.{u1} α (SeminormedAddCommGroup.toNorm.{u1} α _inst_1) x)) (Norm.norm.{u1} α (SeminormedAddCommGroup.toNorm.{u1} α _inst_1) x)
+Case conversion may be inaccurate. Consider using '#align norm_norm norm_normₓ'. -/
 @[simp]
 theorem norm_norm [SeminormedAddCommGroup α] (x : α) : ‖‖x‖‖ = ‖x‖ :=
   Real.norm_of_nonneg (norm_nonneg _)
 #align norm_norm norm_norm
 
+#print nnnorm_norm /-
 @[simp]
 theorem nnnorm_norm [SeminormedAddCommGroup α] (a : α) : ‖‖a‖‖₊ = ‖a‖₊ := by
   simpa [Real.nnnorm_of_nonneg (norm_nonneg a)]
 #align nnnorm_norm nnnorm_norm
+-/
 
+/- warning: normed_add_comm_group.tendsto_at_top -> NormedAddCommGroup.tendsto_atTop is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Nonempty.{succ u1} α] [_inst_2 : SemilatticeSup.{u1} α] {β : Type.{u2}} [_inst_3 : SeminormedAddCommGroup.{u2} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u1, u2} α β f (Filter.atTop.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) (nhds.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} β _inst_3))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} α (fun (N : α) => forall (n : α), (LE.le.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) N n) -> (LT.lt.{0} Real Real.hasLt (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_3) (HSub.hSub.{u2, u2, u2} β β β (instHSub.{u2} β (SubNegMonoid.toHasSub.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_3))))) (f n) b)) ε))))
+but is expected to have type
+  forall {α : Type.{u2}} [_inst_1 : Nonempty.{succ u2} α] [_inst_2 : SemilatticeSup.{u2} α] {β : Type.{u1}} [_inst_3 : SeminormedAddCommGroup.{u1} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u2, u1} α β f (Filter.atTop.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) (nhds.{u1} β (UniformSpace.toTopologicalSpace.{u1} β (PseudoMetricSpace.toUniformSpace.{u1} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} β _inst_3))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) -> (Exists.{succ u2} α (fun (N : α) => forall (n : α), (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) N n) -> (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} β (SeminormedAddCommGroup.toNorm.{u1} β _inst_3) (HSub.hSub.{u1, u1, u1} β β β (instHSub.{u1} β (SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (SeminormedAddGroup.toAddGroup.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β _inst_3))))) (f n) b)) ε))))
+Case conversion may be inaccurate. Consider using '#align normed_add_comm_group.tendsto_at_top NormedAddCommGroup.tendsto_atTopₓ'. -/
 /-- A restatement of `metric_space.tendsto_at_top` in terms of the norm. -/
 theorem NormedAddCommGroup.tendsto_atTop [Nonempty α] [SemilatticeSup α] {β : Type _}
     [SeminormedAddCommGroup β] {f : α → β} {b : β} :
@@ -833,14 +1301,20 @@ theorem NormedAddCommGroup.tendsto_atTop [Nonempty α] [SemilatticeSup α] {β :
   (atTop_basis.tendsto_iffₓ Metric.nhds_basis_ball).trans (by simp [dist_eq_norm])
 #align normed_add_comm_group.tendsto_at_top NormedAddCommGroup.tendsto_atTop
 
+/- warning: normed_add_comm_group.tendsto_at_top' -> NormedAddCommGroup.tendsto_atTop' is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Nonempty.{succ u1} α] [_inst_2 : SemilatticeSup.{u1} α] [_inst_3 : NoMaxOrder.{u1} α (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2)))] {β : Type.{u2}} [_inst_4 : SeminormedAddCommGroup.{u2} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u1, u2} α β f (Filter.atTop.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) (nhds.{u2} β (UniformSpace.toTopologicalSpace.{u2} β (PseudoMetricSpace.toUniformSpace.{u2} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} β _inst_4))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.hasLt (OfNat.ofNat.{0} Real 0 (OfNat.mk.{0} Real 0 (Zero.zero.{0} Real Real.hasZero))) ε) -> (Exists.{succ u1} α (fun (N : α) => forall (n : α), (LT.lt.{u1} α (Preorder.toLT.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_2))) N n) -> (LT.lt.{0} Real Real.hasLt (Norm.norm.{u2} β (SeminormedAddCommGroup.toHasNorm.{u2} β _inst_4) (HSub.hSub.{u2, u2, u2} β β β (instHSub.{u2} β (SubNegMonoid.toHasSub.{u2} β (AddGroup.toSubNegMonoid.{u2} β (SeminormedAddGroup.toAddGroup.{u2} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u2} β _inst_4))))) (f n) b)) ε))))
+but is expected to have type
+  forall {α : Type.{u2}} [_inst_1 : Nonempty.{succ u2} α] [_inst_2 : SemilatticeSup.{u2} α] [_inst_3 : NoMaxOrder.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2)))] {β : Type.{u1}} [_inst_4 : SeminormedAddCommGroup.{u1} β] {f : α -> β} {b : β}, Iff (Filter.Tendsto.{u2, u1} α β f (Filter.atTop.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) (nhds.{u1} β (UniformSpace.toTopologicalSpace.{u1} β (PseudoMetricSpace.toUniformSpace.{u1} β (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} β _inst_4))) b)) (forall (ε : Real), (LT.lt.{0} Real Real.instLTReal (OfNat.ofNat.{0} Real 0 (Zero.toOfNat0.{0} Real Real.instZeroReal)) ε) -> (Exists.{succ u2} α (fun (N : α) => forall (n : α), (LT.lt.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_2))) N n) -> (LT.lt.{0} Real Real.instLTReal (Norm.norm.{u1} β (SeminormedAddCommGroup.toNorm.{u1} β _inst_4) (HSub.hSub.{u1, u1, u1} β β β (instHSub.{u1} β (SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (SeminormedAddGroup.toAddGroup.{u1} β (SeminormedAddCommGroup.toSeminormedAddGroup.{u1} β _inst_4))))) (f n) b)) ε))))
+Case conversion may be inaccurate. Consider using '#align normed_add_comm_group.tendsto_at_top' NormedAddCommGroup.tendsto_atTop'ₓ'. -/
 /-- A variant of `normed_add_comm_group.tendsto_at_top` that
 uses `∃ N, ∀ n > N, ...` rather than `∃ N, ∀ n ≥ N, ...`
 -/
-theorem NormedAddCommGroup.tendsto_at_top' [Nonempty α] [SemilatticeSup α] [NoMaxOrder α]
+theorem NormedAddCommGroup.tendsto_atTop' [Nonempty α] [SemilatticeSup α] [NoMaxOrder α]
     {β : Type _} [SeminormedAddCommGroup β] {f : α → β} {b : β} :
     Tendsto f atTop (𝓝 b) ↔ ∀ ε, 0 < ε → ∃ N, ∀ n, N < n → ‖f n - b‖ < ε :=
   (atTop_basis_Ioi.tendsto_iffₓ Metric.nhds_basis_ball).trans (by simp [dist_eq_norm])
-#align normed_add_comm_group.tendsto_at_top' NormedAddCommGroup.tendsto_at_top'
+#align normed_add_comm_group.tendsto_at_top' NormedAddCommGroup.tendsto_atTop'
 
 instance : NormedCommRing ℤ :=
   {
@@ -866,19 +1340,23 @@ section RingHomIsometric
 
 variable {R₁ : Type _} {R₂ : Type _} {R₃ : Type _}
 
+#print RingHomIsometric /-
 /-- This class states that a ring homomorphism is isometric. This is a sufficient assumption
 for a continuous semilinear map to be bounded and this is the main use for this typeclass. -/
 class RingHomIsometric [Semiring R₁] [Semiring R₂] [Norm R₁] [Norm R₂] (σ : R₁ →+* R₂) : Prop where
   is_iso : ∀ {x : R₁}, ‖σ x‖ = ‖x‖
 #align ring_hom_isometric RingHomIsometric
+-/
 
 attribute [simp] RingHomIsometric.is_iso
 
-variable [SemiNormedRing R₁] [SemiNormedRing R₂] [SemiNormedRing R₃]
+variable [SeminormedRing R₁] [SeminormedRing R₂] [SeminormedRing R₃]
 
+#print RingHomIsometric.ids /-
 instance RingHomIsometric.ids : RingHomIsometric (RingHom.id R₁) :=
   ⟨fun x => rfl⟩
 #align ring_hom_isometric.ids RingHomIsometric.ids
+-/
 
 end RingHomIsometric
 
@@ -889,19 +1367,22 @@ section Induced
 
 variable {F : Type _} (R S : Type _)
 
+#print NonUnitalSeminormedRing.induced /-
 /-- A non-unital ring homomorphism from an `non_unital_ring` to a `non_unital_semi_normed_ring`
 induces a `non_unital_semi_normed_ring` structure on the domain.
 
 See note [reducible non-instances] -/
 @[reducible]
-def NonUnitalSemiNormedRing.induced [NonUnitalRing R] [NonUnitalSemiNormedRing S]
-    [NonUnitalRingHomClass F R S] (f : F) : NonUnitalSemiNormedRing R :=
+def NonUnitalSeminormedRing.induced [NonUnitalRing R] [NonUnitalSeminormedRing S]
+    [NonUnitalRingHomClass F R S] (f : F) : NonUnitalSeminormedRing R :=
   { SeminormedAddCommGroup.induced R S f with
     norm_mul := fun x y => by
       unfold norm
       exact (map_mul f x y).symm ▸ norm_mul_le (f x) (f y) }
-#align non_unital_semi_normed_ring.induced NonUnitalSemiNormedRing.induced
+#align non_unital_semi_normed_ring.induced NonUnitalSeminormedRing.induced
+-/
 
+#print NonUnitalNormedRing.induced /-
 /-- An injective non-unital ring homomorphism from an `non_unital_ring` to a
 `non_unital_normed_ring` induces a `non_unital_normed_ring` structure on the domain.
 
@@ -909,19 +1390,23 @@ See note [reducible non-instances] -/
 @[reducible]
 def NonUnitalNormedRing.induced [NonUnitalRing R] [NonUnitalNormedRing S]
     [NonUnitalRingHomClass F R S] (f : F) (hf : Function.Injective f) : NonUnitalNormedRing R :=
-  { NonUnitalSemiNormedRing.induced R S f, NormedAddCommGroup.induced R S f hf with }
+  { NonUnitalSeminormedRing.induced R S f, NormedAddCommGroup.induced R S f hf with }
 #align non_unital_normed_ring.induced NonUnitalNormedRing.induced
+-/
 
+#print SeminormedRing.induced /-
 /-- A non-unital ring homomorphism from an `ring` to a `semi_normed_ring` induces a
 `semi_normed_ring` structure on the domain.
 
 See note [reducible non-instances] -/
 @[reducible]
-def SemiNormedRing.induced [Ring R] [SemiNormedRing S] [NonUnitalRingHomClass F R S] (f : F) :
-    SemiNormedRing R :=
-  { NonUnitalSemiNormedRing.induced R S f, SeminormedAddCommGroup.induced R S f with }
-#align semi_normed_ring.induced SemiNormedRing.induced
+def SeminormedRing.induced [Ring R] [SeminormedRing S] [NonUnitalRingHomClass F R S] (f : F) :
+    SeminormedRing R :=
+  { NonUnitalSeminormedRing.induced R S f, SeminormedAddCommGroup.induced R S f with }
+#align semi_normed_ring.induced SeminormedRing.induced
+-/
 
+#print NormedRing.induced /-
 /-- An injective non-unital ring homomorphism from an `ring` to a `normed_ring` induces a
 `normed_ring` structure on the domain.
 
@@ -929,20 +1414,24 @@ See note [reducible non-instances] -/
 @[reducible]
 def NormedRing.induced [Ring R] [NormedRing S] [NonUnitalRingHomClass F R S] (f : F)
     (hf : Function.Injective f) : NormedRing R :=
-  { NonUnitalSemiNormedRing.induced R S f, NormedAddCommGroup.induced R S f hf with }
+  { NonUnitalSeminormedRing.induced R S f, NormedAddCommGroup.induced R S f hf with }
 #align normed_ring.induced NormedRing.induced
+-/
 
+#print SeminormedCommRing.induced /-
 /-- A non-unital ring homomorphism from a `comm_ring` to a `semi_normed_ring` induces a
 `semi_normed_comm_ring` structure on the domain.
 
 See note [reducible non-instances] -/
 @[reducible]
-def SemiNormedCommRing.induced [CommRing R] [SemiNormedRing S] [NonUnitalRingHomClass F R S]
-    (f : F) : SemiNormedCommRing R :=
-  { NonUnitalSemiNormedRing.induced R S f, SeminormedAddCommGroup.induced R S f with
+def SeminormedCommRing.induced [CommRing R] [SeminormedRing S] [NonUnitalRingHomClass F R S]
+    (f : F) : SeminormedCommRing R :=
+  { NonUnitalSeminormedRing.induced R S f, SeminormedAddCommGroup.induced R S f with
     mul_comm := mul_comm }
-#align semi_normed_comm_ring.induced SemiNormedCommRing.induced
+#align semi_normed_comm_ring.induced SeminormedCommRing.induced
+-/
 
+#print NormedCommRing.induced /-
 /-- An injective non-unital ring homomorphism from an `comm_ring` to a `normed_ring` induces a
 `normed_comm_ring` structure on the domain.
 
@@ -950,9 +1439,11 @@ See note [reducible non-instances] -/
 @[reducible]
 def NormedCommRing.induced [CommRing R] [NormedRing S] [NonUnitalRingHomClass F R S] (f : F)
     (hf : Function.Injective f) : NormedCommRing R :=
-  { SemiNormedCommRing.induced R S f, NormedAddCommGroup.induced R S f hf with }
+  { SeminormedCommRing.induced R S f, NormedAddCommGroup.induced R S f hf with }
 #align normed_comm_ring.induced NormedCommRing.induced
+-/
 
+#print NormedDivisionRing.induced /-
 /-- An injective non-unital ring homomorphism from an `division_ring` to a `normed_ring` induces a
 `normed_division_ring` structure on the domain.
 
@@ -965,7 +1456,9 @@ def NormedDivisionRing.induced [DivisionRing R] [NormedDivisionRing S] [NonUnita
       unfold norm
       exact (map_mul f x y).symm ▸ norm_mul (f x) (f y) }
 #align normed_division_ring.induced NormedDivisionRing.induced
+-/
 
+#print NormedField.induced /-
 /-- An injective non-unital ring homomorphism from an `field` to a `normed_ring` induces a
 `normed_field` structure on the domain.
 
@@ -975,12 +1468,19 @@ def NormedField.induced [Field R] [NormedField S] [NonUnitalRingHomClass F R S]
     (hf : Function.Injective f) : NormedField R :=
   { NormedDivisionRing.induced R S f hf with }
 #align normed_field.induced NormedField.induced
+-/
 
+/- warning: norm_one_class.induced -> NormOneClass.induced is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} (R : Type.{u2}) (S : Type.{u3}) [_inst_1 : Ring.{u2} R] [_inst_2 : SeminormedRing.{u3} S] [_inst_3 : NormOneClass.{u3} S (SeminormedRing.toHasNorm.{u3} S _inst_2) (AddMonoidWithOne.toOne.{u3} S (AddGroupWithOne.toAddMonoidWithOne.{u3} S (NonAssocRing.toAddGroupWithOne.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2)))))] [_inst_4 : RingHomClass.{u1, u2, u3} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2)))] (f : F), NormOneClass.{u2} R (SeminormedRing.toHasNorm.{u2} R (SeminormedRing.induced.{u1, u2, u3} F R S _inst_1 _inst_2 (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} S (Ring.toNonAssocRing.{u3} S (SeminormedRing.toRing.{u3} S _inst_2))) _inst_4) f)) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (NonAssocRing.toAddGroupWithOne.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))
+but is expected to have type
+  forall {F : Type.{u3}} (R : Type.{u2}) (S : Type.{u1}) [_inst_1 : Ring.{u2} R] [_inst_2 : SeminormedRing.{u1} S] [_inst_3 : NormOneClass.{u1} S (SeminormedRing.toNorm.{u1} S _inst_2) (NonAssocRing.toOne.{u1} S (Ring.toNonAssocRing.{u1} S (SeminormedRing.toRing.{u1} S _inst_2)))] [_inst_4 : RingHomClass.{u3, u2, u1} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u1} S (Ring.toNonAssocRing.{u1} S (SeminormedRing.toRing.{u1} S _inst_2)))] (f : F), NormOneClass.{u2} R (SeminormedRing.toNorm.{u2} R (SeminormedRing.induced.{u3, u2, u1} F R S _inst_1 _inst_2 (RingHomClass.toNonUnitalRingHomClass.{u3, u2, u1} F R S (NonAssocRing.toNonAssocSemiring.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u1} S (Ring.toNonAssocRing.{u1} S (SeminormedRing.toRing.{u1} S _inst_2))) _inst_4) f)) (NonAssocRing.toOne.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))
+Case conversion may be inaccurate. Consider using '#align norm_one_class.induced NormOneClass.inducedₓ'. -/
 /-- A ring homomorphism from a `ring R` to a `semi_normed_ring S` which induces the norm structure
 `semi_normed_ring.induced` makes `R` satisfy `‖(1 : R)‖ = 1` whenever `‖(1 : S)‖ = 1`. -/
-theorem NormOneClass.induced {F : Type _} (R S : Type _) [Ring R] [SemiNormedRing S]
+theorem NormOneClass.induced {F : Type _} (R S : Type _) [Ring R] [SeminormedRing S]
     [NormOneClass S] [RingHomClass F R S] (f : F) :
-    @NormOneClass R (SemiNormedRing.induced R S f).toHasNorm _ :=
+    @NormOneClass R (SeminormedRing.induced R S f).toHasNorm _ :=
   { norm_one := (congr_arg norm (map_one f)).trans norm_one }
 #align norm_one_class.induced NormOneClass.induced
 
@@ -990,22 +1490,30 @@ namespace SubringClass
 
 variable {S R : Type _} [SetLike S R]
 
-instance toSemiNormedRing [SemiNormedRing R] [SubringClass S R] (s : S) : SemiNormedRing s :=
-  SemiNormedRing.induced s R (SubringClass.subtype s)
-#align subring_class.to_semi_normed_ring SubringClass.toSemiNormedRing
+#print SubringClass.toSeminormedRing /-
+instance toSeminormedRing [SeminormedRing R] [SubringClass S R] (s : S) : SeminormedRing s :=
+  SeminormedRing.induced s R (SubringClass.subtype s)
+#align subring_class.to_semi_normed_ring SubringClass.toSeminormedRing
+-/
 
+#print SubringClass.toNormedRing /-
 instance toNormedRing [NormedRing R] [SubringClass S R] (s : S) : NormedRing s :=
   NormedRing.induced s R (SubringClass.subtype s) Subtype.val_injective
 #align subring_class.to_normed_ring SubringClass.toNormedRing
+-/
 
-instance toSemiNormedCommRing [SemiNormedCommRing R] [h : SubringClass S R] (s : S) :
-    SemiNormedCommRing s :=
-  { SubringClass.toSemiNormedRing s with mul_comm := mul_comm }
-#align subring_class.to_semi_normed_comm_ring SubringClass.toSemiNormedCommRing
+#print SubringClass.toSeminormedCommRing /-
+instance toSeminormedCommRing [SeminormedCommRing R] [h : SubringClass S R] (s : S) :
+    SeminormedCommRing s :=
+  { SubringClass.toSeminormedRing s with mul_comm := mul_comm }
+#align subring_class.to_semi_normed_comm_ring SubringClass.toSeminormedCommRing
+-/
 
+#print SubringClass.toNormedCommRing /-
 instance toNormedCommRing [NormedCommRing R] [SubringClass S R] (s : S) : NormedCommRing s :=
   { SubringClass.toNormedRing s with mul_comm := mul_comm }
 #align subring_class.to_normed_comm_ring SubringClass.toNormedCommRing
+-/
 
 end SubringClass
 
Diff
@@ -28,7 +28,7 @@ open Topology BigOperators NNReal ENNReal uniformity Pointwise
 
 /-- A non-unital seminormed ring is a not-necessarily-unital ring
 endowed with a seminorm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class NonUnitalSemiNormedRing (α : Type _) extends HasNorm α, NonUnitalRing α,
+class NonUnitalSemiNormedRing (α : Type _) extends Norm α, NonUnitalRing α,
   PseudoMetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
@@ -36,7 +36,7 @@ class NonUnitalSemiNormedRing (α : Type _) extends HasNorm α, NonUnitalRing α
 
 /-- A seminormed ring is a ring endowed with a seminorm which satisfies the inequality
 `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class SemiNormedRing (α : Type _) extends HasNorm α, Ring α, PseudoMetricSpace α where
+class SemiNormedRing (α : Type _) extends Norm α, Ring α, PseudoMetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
 #align semi_normed_ring SemiNormedRing
@@ -50,7 +50,7 @@ instance (priority := 100) SemiNormedRing.toNonUnitalSemiNormedRing [β : SemiNo
 
 /-- A non-unital normed ring is a not-necessarily-unital ring
 endowed with a norm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class NonUnitalNormedRing (α : Type _) extends HasNorm α, NonUnitalRing α, MetricSpace α where
+class NonUnitalNormedRing (α : Type _) extends Norm α, NonUnitalRing α, MetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
 #align non_unital_normed_ring NonUnitalNormedRing
@@ -63,14 +63,14 @@ instance (priority := 100) NonUnitalNormedRing.toNonUnitalSemiNormedRing
 #align non_unital_normed_ring.to_non_unital_semi_normed_ring NonUnitalNormedRing.toNonUnitalSemiNormedRing
 
 /-- A normed ring is a ring endowed with a norm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class NormedRing (α : Type _) extends HasNorm α, Ring α, MetricSpace α where
+class NormedRing (α : Type _) extends Norm α, Ring α, MetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul : ∀ a b, norm (a * b) ≤ norm a * norm b
 #align normed_ring NormedRing
 
 /-- A normed division ring is a division ring endowed with a seminorm which satisfies the equality
 `‖x y‖ = ‖x‖ ‖y‖`. -/
-class NormedDivisionRing (α : Type _) extends HasNorm α, DivisionRing α, MetricSpace α where
+class NormedDivisionRing (α : Type _) extends Norm α, DivisionRing α, MetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul' : ∀ a b, norm (a * b) = norm a * norm b
 #align normed_division_ring NormedDivisionRing
@@ -119,7 +119,7 @@ instance : NormedCommRing PUnit :=
 
 /-- A mixin class with the axiom `‖1‖ = 1`. Many `normed_ring`s and all `normed_field`s satisfy this
 axiom. -/
-class NormOneClass (α : Type _) [HasNorm α] [One α] : Prop where
+class NormOneClass (α : Type _) [Norm α] [One α] : Prop where
   norm_one : ‖(1 : α)‖ = 1
 #align norm_one_class NormOneClass
 
@@ -642,7 +642,7 @@ theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖
 end NormedDivisionRing
 
 /-- A normed field is a field with a norm satisfying ‖x y‖ = ‖x‖ ‖y‖. -/
-class NormedField (α : Type _) extends HasNorm α, Field α, MetricSpace α where
+class NormedField (α : Type _) extends Norm α, Field α, MetricSpace α where
   dist_eq : ∀ x y, dist x y = norm (x - y)
   norm_mul' : ∀ a b, norm (a * b) = norm a * norm b
 #align normed_field NormedField
@@ -868,8 +868,7 @@ variable {R₁ : Type _} {R₂ : Type _} {R₃ : Type _}
 
 /-- This class states that a ring homomorphism is isometric. This is a sufficient assumption
 for a continuous semilinear map to be bounded and this is the main use for this typeclass. -/
-class RingHomIsometric [Semiring R₁] [Semiring R₂] [HasNorm R₁] [HasNorm R₂] (σ : R₁ →+* R₂) :
-  Prop where
+class RingHomIsometric [Semiring R₁] [Semiring R₂] [Norm R₁] [Norm R₂] (σ : R₁ →+* R₂) : Prop where
   is_iso : ∀ {x : R₁}, ‖σ x‖ = ‖x‖
 #align ring_hom_isometric RingHomIsometric
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Johannes Hölzl
 
 ! This file was ported from Lean 3 source module analysis.normed.field.basic
-! leanprover-community/mathlib commit 335232c774b3d0513ab1531582779dc25d6fdc9a
+! leanprover-community/mathlib commit f06058e64b7e8397234455038f3f8aec83aaba5a
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -570,6 +570,19 @@ theorem nnnorm_zpow : ∀ (a : α) (n : ℤ), ‖a ^ n‖₊ = ‖a‖₊ ^ n :=
   map_zpow₀ (nnnormHom : α →*₀ ℝ≥0)
 #align nnnorm_zpow nnnorm_zpow
 
+theorem dist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) : dist z⁻¹ w⁻¹ = dist z w / (‖z‖ * ‖w‖) :=
+  by
+  rw [dist_eq_norm, inv_sub_inv' hz hw, norm_mul, norm_mul, norm_inv, norm_inv, mul_comm ‖z‖⁻¹,
+    mul_assoc, dist_eq_norm', div_eq_mul_inv, mul_inv]
+#align dist_inv_inv₀ dist_inv_inv₀
+
+theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
+    nndist z⁻¹ w⁻¹ = nndist z w / (‖z‖₊ * ‖w‖₊) :=
+  by
+  rw [← NNReal.coe_eq]
+  simp [-NNReal.coe_eq, dist_inv_inv₀ hz hw]
+#align nndist_inv_inv₀ nndist_inv_inv₀
+
 /-- Multiplication on the left by a nonzero element of a normed division ring tends to infinity at
 infinity. TODO: use `bornology.cobounded` instead of `filter.comap has_norm.norm filter.at_top`. -/
 theorem Filter.tendsto_mul_left_cobounded {a : α} (ha : a ≠ 0) :
Diff
@@ -998,5 +998,5 @@ instance toNormedCommRing [NormedCommRing R] [SubringClass S R] (s : S) : Normed
 end SubringClass
 
 -- Guard again import creep.
-assert_not_exists restrict_scalars
+assert_not_exists RestrictScalars
 
Diff
@@ -233,7 +233,7 @@ instance Prod.nonUnitalSemiNormedRing [NonUnitalSemiNormedRing β] :
         ‖x * y‖ = ‖(x.1 * y.1, x.2 * y.2)‖ := rfl
         _ = max ‖x.1 * y.1‖ ‖x.2 * y.2‖ := rfl
         _ ≤ max (‖x.1‖ * ‖y.1‖) (‖x.2‖ * ‖y.2‖) :=
-          max_le_max (norm_mul_le x.1 y.1) (norm_mul_le x.2 y.2)
+          (max_le_max (norm_mul_le x.1 y.1) (norm_mul_le x.2 y.2))
         _ = max (‖x.1‖ * ‖y.1‖) (‖y.2‖ * ‖x.2‖) := by simp [mul_comm]
         _ ≤ max ‖x.1‖ ‖x.2‖ * max ‖y.2‖ ‖y.1‖ := by
           apply max_mul_mul_le_max_mul_max <;> simp [norm_nonneg]
Diff
@@ -24,7 +24,7 @@ variable {α : Type _} {β : Type _} {γ : Type _} {ι : Type _}
 
 open Filter Metric
 
-open Topology BigOperators NNReal Ennreal uniformity Pointwise
+open Topology BigOperators NNReal ENNReal uniformity Pointwise
 
 /-- A non-unital seminormed ring is a not-necessarily-unital ring
 endowed with a seminorm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Johannes Hölzl
 
 ! This file was ported from Lean 3 source module analysis.normed.field.basic
-! leanprover-community/mathlib commit 372edc36e5d2caafdd135769e0136b5a59186834
+! leanprover-community/mathlib commit 335232c774b3d0513ab1531582779dc25d6fdc9a
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -168,6 +168,11 @@ instance Pi.normOneClass {ι : Type _} {α : ι → Type _} [Nonempty ι] [Finty
   ⟨by simp [Pi.norm_def, Finset.sup_const Finset.univ_nonempty]⟩
 #align pi.norm_one_class Pi.normOneClass
 
+instance MulOpposite.normOneClass [SeminormedAddCommGroup α] [One α] [NormOneClass α] :
+    NormOneClass αᵐᵒᵖ :=
+  ⟨@norm_one α _ _ _⟩
+#align mul_opposite.norm_one_class MulOpposite.normOneClass
+
 section NonUnitalSemiNormedRing
 
 variable [NonUnitalSemiNormedRing α]
@@ -253,6 +258,13 @@ instance Pi.nonUnitalSemiNormedRing {π : ι → Type _} [Fintype ι]
            }
 #align pi.non_unital_semi_normed_ring Pi.nonUnitalSemiNormedRing
 
+instance MulOpposite.nonUnitalSemiNormedRing : NonUnitalSemiNormedRing αᵐᵒᵖ :=
+  { MulOpposite.seminormedAddCommGroup with
+    norm_mul :=
+      MulOpposite.rec' fun x =>
+        MulOpposite.rec' fun y => (norm_mul_le y x).trans_eq (mul_comm _ _) }
+#align mul_opposite.non_unital_semi_normed_ring MulOpposite.nonUnitalSemiNormedRing
+
 end NonUnitalSemiNormedRing
 
 section SemiNormedRing
@@ -377,6 +389,10 @@ instance Pi.semiNormedRing {π : ι → Type _} [Fintype ι] [∀ i, SemiNormedR
   { Pi.nonUnitalSemiNormedRing, Pi.seminormedAddCommGroup with }
 #align pi.semi_normed_ring Pi.semiNormedRing
 
+instance MulOpposite.semiNormedRing : SemiNormedRing αᵐᵒᵖ :=
+  { MulOpposite.nonUnitalSemiNormedRing, MulOpposite.seminormedAddCommGroup with }
+#align mul_opposite.semi_normed_ring MulOpposite.semiNormedRing
+
 end SemiNormedRing
 
 section NonUnitalNormedRing
@@ -399,6 +415,10 @@ instance Pi.nonUnitalNormedRing {π : ι → Type _} [Fintype ι] [∀ i, NonUni
   { Pi.normedAddCommGroup with norm_mul := norm_mul_le }
 #align pi.non_unital_normed_ring Pi.nonUnitalNormedRing
 
+instance MulOpposite.nonUnitalNormedRing : NonUnitalNormedRing αᵐᵒᵖ :=
+  { MulOpposite.normedAddCommGroup with norm_mul := norm_mul_le }
+#align mul_opposite.non_unital_normed_ring MulOpposite.nonUnitalNormedRing
+
 end NonUnitalNormedRing
 
 section NormedRing
@@ -427,6 +447,10 @@ instance Pi.normedRing {π : ι → Type _} [Fintype ι] [∀ i, NormedRing (π
   { Pi.normedAddCommGroup with norm_mul := norm_mul_le }
 #align pi.normed_ring Pi.normedRing
 
+instance MulOpposite.normedRing : NormedRing αᵐᵒᵖ :=
+  { MulOpposite.normedAddCommGroup with norm_mul := norm_mul_le }
+#align mul_opposite.normed_ring MulOpposite.normedRing
+
 end NormedRing
 
 -- see Note [lower instance priority]

Changes in mathlib4

mathlib3
mathlib4
chore: adapt to multiple goal linter 3 (#12372)

A PR analogous to #12338 and #12361: reformatting proofs following the multiple goals linter of #12339.

Diff
@@ -663,9 +663,9 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing
             (((continuous_fst.tendsto x).sub tendsto_const_nhds).norm.mul _)
         -- Porting note: `show` used to select a goal to work on
         rotate_right
-        show Tendsto _ _ _
-        exact tendsto_const_nhds
-        simp⟩
+        · show Tendsto _ _ _
+          exact tendsto_const_nhds
+        · simp⟩
 #align semi_normed_ring_top_monoid semi_normed_ring_top_monoid
 
 -- see Note [lower instance priority]
chore: Rename Int and Rat instances (#12235)

Fix a few names and deduplicate the AddCommGroup ℤ instance

Diff
@@ -1111,19 +1111,20 @@ theorem NormedAddCommGroup.tendsto_atTop' [Nonempty α] [SemilatticeSup α] [NoM
   (atTop_basis_Ioi.tendsto_iff Metric.nhds_basis_ball).trans (by simp [dist_eq_norm])
 #align normed_add_comm_group.tendsto_at_top' NormedAddCommGroup.tendsto_atTop'
 
-instance Int.normedCommRing : NormedCommRing ℤ :=
-  { Int.normedAddCommGroup, Int.instRingInt with
-    norm_mul := fun m n => le_of_eq <| by simp only [norm, Int.cast_mul, abs_mul]
-    mul_comm := mul_comm }
+instance Int.instNormedCommRing : NormedCommRing ℤ where
+  __ := instCommRing
+  __ := instNormedAddCommGroup
+  norm_mul m n := by simp only [norm, Int.cast_mul, abs_mul, le_rfl]
 
-instance Int.normOneClass : NormOneClass ℤ :=
+instance Int.instNormOneClass : NormOneClass ℤ :=
   ⟨by simp [← Int.norm_cast_real]⟩
 
-instance Rat.normedField : NormedField ℚ :=
-  { Rat.normedAddCommGroup, Rat.instField with
-    norm_mul' := fun r₁ r₂ => by simp only [norm, Rat.cast_mul, abs_mul] }
+instance Rat.instNormedField : NormedField ℚ where
+  __ := instField
+  __ := instNormedAddCommGroup
+  norm_mul' a b := by simp only [norm, Rat.cast_mul, abs_mul]
 
-instance Rat.denselyNormedField : DenselyNormedField ℚ where
+instance Rat.instDenselyNormedField : DenselyNormedField ℚ where
   lt_norm_lt r₁ r₂ h₀ hr :=
     let ⟨q, h⟩ := exists_rat_btwn hr
     ⟨q, by rwa [← Rat.norm_cast_real, Real.norm_eq_abs, abs_of_pos (h₀.trans_lt h.1)]⟩
style: replace '.-/' by '. -/' (#11938)

Purely automatic replacement. If this is in any way controversial; I'm happy to just close this PR.

Diff
@@ -411,7 +411,7 @@ theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ 
 #align nnnorm_pow_le' nnnorm_pow_le'
 
 /-- If `α` is a seminormed ring with `‖1‖₊ = 1`, then `‖a ^ n‖₊ ≤ ‖a‖₊ ^ n`.
-See also `nnnorm_pow_le'`.-/
+See also `nnnorm_pow_le'`. -/
 theorem nnnorm_pow_le [NormOneClass α] (a : α) (n : ℕ) : ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n :=
   Nat.recOn n (by simp only [Nat.zero_eq, pow_zero, nnnorm_one, le_rfl])
     fun k _hk => nnnorm_pow_le' a k.succ_pos
@@ -422,7 +422,8 @@ theorem norm_pow_le' (a : α) {n : ℕ} (h : 0 < n) : ‖a ^ n‖ ≤ ‖a‖ ^
   simpa only [NNReal.coe_pow, coe_nnnorm] using NNReal.coe_mono (nnnorm_pow_le' a h)
 #align norm_pow_le' norm_pow_le'
 
-/-- If `α` is a seminormed ring with `‖1‖ = 1`, then `‖a ^ n‖ ≤ ‖a‖ ^ n`. See also `norm_pow_le'`.-/
+/-- If `α` is a seminormed ring with `‖1‖ = 1`, then `‖a ^ n‖ ≤ ‖a‖ ^ n`.
+See also `norm_pow_le'`. -/
 theorem norm_pow_le [NormOneClass α] (a : α) (n : ℕ) : ‖a ^ n‖ ≤ ‖a‖ ^ n :=
   Nat.recOn n (by simp only [Nat.zero_eq, pow_zero, norm_one, le_rfl])
     fun n _hn => norm_pow_le' a n.succ_pos
refactor: Avoid Rat internals in the definition of Field (#11639)

Soon, there will be NNRat analogs of the Rat fields in the definition of Field. NNRat is less nicely a structure than Rat, hence there is a need to reduce the dependency of Field on the internals of Rat.

This PR achieves this by restating Field.ratCast_mk' in terms of Rat.num, Rat.den. This requires fixing a few downstream instances.

Reduce the diff of #11203.

Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>

Diff
@@ -1119,7 +1119,7 @@ instance Int.normOneClass : NormOneClass ℤ :=
   ⟨by simp [← Int.norm_cast_real]⟩
 
 instance Rat.normedField : NormedField ℚ :=
-  { Rat.normedAddCommGroup, Rat.field with
+  { Rat.normedAddCommGroup, Rat.instField with
     norm_mul' := fun r₁ r₂ => by simp only [norm, Rat.cast_mul, abs_mul] }
 
 instance Rat.denselyNormedField : DenselyNormedField ℚ where
chore: Homogenise instances for MulOpposite/AddOpposite (#11485)

by declaring them all in where style with implicit type assumptions and inst prefix

Here to reduce the diff from #11203

Diff
@@ -321,12 +321,12 @@ instance Pi.nonUnitalSeminormedRing {π : ι → Type*} [Fintype ι]
            }
 #align pi.non_unital_semi_normed_ring Pi.nonUnitalSeminormedRing
 
-instance MulOpposite.nonUnitalSeminormedRing : NonUnitalSeminormedRing αᵐᵒᵖ :=
-  { MulOpposite.seminormedAddCommGroup, MulOpposite.instNonUnitalRing α with
-    norm_mul :=
-      MulOpposite.rec' fun x =>
-        MulOpposite.rec' fun y => (norm_mul_le y x).trans_eq (mul_comm _ _) }
-#align mul_opposite.non_unital_semi_normed_ring MulOpposite.nonUnitalSeminormedRing
+instance MulOpposite.instNonUnitalSeminormedRing : NonUnitalSeminormedRing αᵐᵒᵖ where
+  __ := instNonUnitalRing
+  __ := instSeminormedAddCommGroup
+  norm_mul := MulOpposite.rec' fun x ↦ MulOpposite.rec' fun y ↦
+    (norm_mul_le y x).trans_eq (mul_comm _ _)
+#align mul_opposite.non_unital_semi_normed_ring MulOpposite.instNonUnitalSeminormedRing
 
 end NonUnitalSeminormedRing
 
@@ -448,9 +448,10 @@ instance Pi.seminormedRing {π : ι → Type*} [Fintype ι] [∀ i, SeminormedRi
   { Pi.nonUnitalSeminormedRing, Pi.ring with }
 #align pi.semi_normed_ring Pi.seminormedRing
 
-instance MulOpposite.seminormedRing : SeminormedRing αᵐᵒᵖ :=
-  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.instRing α with }
-#align mul_opposite.semi_normed_ring MulOpposite.seminormedRing
+instance MulOpposite.instSeminormedRing : SeminormedRing αᵐᵒᵖ where
+  __ := instRing
+  __ := instNonUnitalSeminormedRing
+#align mul_opposite.semi_normed_ring MulOpposite.instSeminormedRing
 
 end SeminormedRing
 
@@ -474,9 +475,11 @@ instance Pi.nonUnitalNormedRing {π : ι → Type*} [Fintype ι] [∀ i, NonUnit
   { Pi.nonUnitalSeminormedRing, Pi.normedAddCommGroup with }
 #align pi.non_unital_normed_ring Pi.nonUnitalNormedRing
 
-instance MulOpposite.nonUnitalNormedRing : NonUnitalNormedRing αᵐᵒᵖ :=
-  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.normedAddCommGroup with }
-#align mul_opposite.non_unital_normed_ring MulOpposite.nonUnitalNormedRing
+instance MulOpposite.instNonUnitalNormedRing : NonUnitalNormedRing αᵐᵒᵖ where
+  __ := instNonUnitalRing
+  __ := instNonUnitalSeminormedRing
+  __ := instNormedAddCommGroup
+#align mul_opposite.non_unital_normed_ring MulOpposite.instNonUnitalNormedRing
 
 end NonUnitalNormedRing
 
@@ -506,9 +509,11 @@ instance Pi.normedRing {π : ι → Type*} [Fintype ι] [∀ i, NormedRing (π i
   { Pi.seminormedRing, Pi.normedAddCommGroup with }
 #align pi.normed_ring Pi.normedRing
 
-instance MulOpposite.normedRing : NormedRing αᵐᵒᵖ :=
-  { MulOpposite.seminormedRing, MulOpposite.normedAddCommGroup with }
-#align mul_opposite.normed_ring MulOpposite.normedRing
+instance MulOpposite.instNormedRing : NormedRing αᵐᵒᵖ where
+  __ := instRing
+  __ := instSeminormedRing
+  __ := instNormedAddCommGroup
+#align mul_opposite.normed_ring MulOpposite.instNormedRing
 
 end NormedRing
 
@@ -531,8 +536,9 @@ instance Pi.nonUnitalSeminormedCommRing {π : ι → Type*} [Fintype ι]
     [∀ i, NonUnitalSeminormedCommRing (π i)] : NonUnitalSeminormedCommRing (∀ i, π i) :=
   { Pi.nonUnitalSeminormedRing, Pi.nonUnitalCommRing with }
 
-instance MulOpposite.nonUnitalSeminormedCommRing : NonUnitalSeminormedCommRing αᵐᵒᵖ :=
-  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.instNonUnitalCommRing α with }
+instance MulOpposite.instNonUnitalSeminormedCommRing : NonUnitalSeminormedCommRing αᵐᵒᵖ where
+  __ := instNonUnitalSeminormedRing
+  __ := instNonUnitalCommRing
 
 end NonUnitalSeminormedCommRing
 
@@ -569,8 +575,9 @@ instance Pi.nonUnitalNormedCommRing {π : ι → Type*} [Fintype ι]
     [∀ i, NonUnitalNormedCommRing (π i)] : NonUnitalNormedCommRing (∀ i, π i) :=
   { Pi.nonUnitalSeminormedCommRing, Pi.normedAddCommGroup with }
 
-instance MulOpposite.nonUnitalNormedCommRing : NonUnitalNormedCommRing αᵐᵒᵖ :=
-  { MulOpposite.nonUnitalSeminormedCommRing, MulOpposite.normedAddCommGroup with }
+instance MulOpposite.instNonUnitalNormedCommRing : NonUnitalNormedCommRing αᵐᵒᵖ where
+  __ := instNonUnitalNormedRing
+  __ := instNonUnitalSeminormedCommRing
 
 end NonUnitalNormedCommRing
 
@@ -592,8 +599,9 @@ instance Pi.seminormedCommRing {π : ι → Type*} [Fintype ι] [∀ i, Seminorm
     SeminormedCommRing (∀ i, π i) :=
   { Pi.nonUnitalSeminormedCommRing, Pi.ring with }
 
-instance MulOpposite.seminormedCommRing : SeminormedCommRing αᵐᵒᵖ :=
-  { MulOpposite.nonUnitalSeminormedCommRing, MulOpposite.instRing α with }
+instance MulOpposite.instSeminormedCommRing : SeminormedCommRing αᵐᵒᵖ where
+  __ := instSeminormedRing
+  __ := instNonUnitalSeminormedCommRing
 
 end SeminormedCommRing
 
@@ -627,8 +635,9 @@ instance Pi.normedCommutativeRing {π : ι → Type*} [Fintype ι] [∀ i, Norme
     NormedCommRing (∀ i, π i) :=
   { Pi.seminormedCommRing, Pi.normedAddCommGroup with }
 
-instance MulOpposite.normedCommRing : NormedCommRing αᵐᵒᵖ :=
-  { MulOpposite.seminormedCommRing, MulOpposite.normedAddCommGroup with }
+instance MulOpposite.instNormedCommRing : NormedCommRing αᵐᵒᵖ where
+  __ := instNormedRing
+  __ := instSeminormedCommRing
 
 end NormedCommRing
 
change the order of operation in zsmulRec and nsmulRec (#11451)

We change the following field in the definition of an additive commutative monoid:

 nsmul_succ : ∀ (n : ℕ) (x : G),
-  AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+  AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x

where the latter is more natural

We adjust the definitions of ^ in monoids, groups, etc. Originally there was a warning comment about why this natural order was preferred

use x * npowRec n x and not npowRec n x * x in the definition to make sure that definitional unfolding of npowRec is blocked, to avoid deep recursion issues.

but it seems to no longer apply.

Remarks on the PR :

  • pow_succ and pow_succ' have switched their meanings.
  • Most of the time, the proofs were adjusted by priming/unpriming one lemma, or exchanging left and right; a few proofs were more complicated to adjust.
  • In particular, [Mathlib/NumberTheory/RamificationInertia.lean] used Ideal.IsPrime.mul_mem_pow which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul.
  • the docstring for Cauchy condensation test in [Mathlib/Analysis/PSeries.lean] was mathematically incorrect, I added the mention that the function is antitone.
Diff
@@ -406,7 +406,7 @@ See also `nnnorm_pow_le`. -/
 theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n
   | 1, _ => by simp only [pow_one, le_rfl]
   | n + 2, _ => by
-    simpa only [pow_succ _ (n + 1)] using
+    simpa only [pow_succ' _ (n + 1)] using
       le_trans (nnnorm_mul_le _ _) (mul_le_mul_left' (nnnorm_pow_le' a n.succ_pos) _)
 #align nnnorm_pow_le' nnnorm_pow_le'
 
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
@@ -975,7 +975,7 @@ theorem punctured_nhds_neBot (x : α) : NeBot (𝓝[≠] x) := by
   rintro ε ε0
   rcases exists_norm_lt α ε0 with ⟨b, hb0, hbε⟩
   refine' ⟨x + b, mt (Set.mem_singleton_iff.trans add_right_eq_self).1 <| norm_pos_iff.1 hb0, _⟩
-  rwa [dist_comm, dist_eq_norm, add_sub_cancel']
+  rwa [dist_comm, dist_eq_norm, add_sub_cancel_left]
 #align normed_field.punctured_nhds_ne_bot NormedField.punctured_nhds_neBot
 
 @[instance]
chore(Algebra/*/Opposite): fix names for ring-related instances (#11453)
Diff
@@ -322,7 +322,7 @@ instance Pi.nonUnitalSeminormedRing {π : ι → Type*} [Fintype ι]
 #align pi.non_unital_semi_normed_ring Pi.nonUnitalSeminormedRing
 
 instance MulOpposite.nonUnitalSeminormedRing : NonUnitalSeminormedRing αᵐᵒᵖ :=
-  { MulOpposite.seminormedAddCommGroup, MulOpposite.nonUnitalRing α with
+  { MulOpposite.seminormedAddCommGroup, MulOpposite.instNonUnitalRing α with
     norm_mul :=
       MulOpposite.rec' fun x =>
         MulOpposite.rec' fun y => (norm_mul_le y x).trans_eq (mul_comm _ _) }
@@ -449,7 +449,7 @@ instance Pi.seminormedRing {π : ι → Type*} [Fintype ι] [∀ i, SeminormedRi
 #align pi.semi_normed_ring Pi.seminormedRing
 
 instance MulOpposite.seminormedRing : SeminormedRing αᵐᵒᵖ :=
-  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.ring α with }
+  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.instRing α with }
 #align mul_opposite.semi_normed_ring MulOpposite.seminormedRing
 
 end SeminormedRing
@@ -532,7 +532,7 @@ instance Pi.nonUnitalSeminormedCommRing {π : ι → Type*} [Fintype ι]
   { Pi.nonUnitalSeminormedRing, Pi.nonUnitalCommRing with }
 
 instance MulOpposite.nonUnitalSeminormedCommRing : NonUnitalSeminormedCommRing αᵐᵒᵖ :=
-  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.nonUnitalCommRing α with }
+  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.instNonUnitalCommRing α with }
 
 end NonUnitalSeminormedCommRing
 
@@ -593,7 +593,7 @@ instance Pi.seminormedCommRing {π : ι → Type*} [Fintype ι] [∀ i, Seminorm
   { Pi.nonUnitalSeminormedCommRing, Pi.ring with }
 
 instance MulOpposite.seminormedCommRing : SeminormedCommRing αᵐᵒᵖ :=
-  { MulOpposite.nonUnitalSeminormedCommRing, MulOpposite.ring α with }
+  { MulOpposite.nonUnitalSeminormedCommRing, MulOpposite.instRing α with }
 
 end SeminormedCommRing
 
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
@@ -643,7 +643,7 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing
           calc
             ‖e.1 * e.2 - x.1 * x.2‖ ≤ ‖e.1 * (e.2 - x.2) + (e.1 - x.1) * x.2‖ := by
               rw [_root_.mul_sub, _root_.sub_mul, sub_add_sub_cancel]
-            -- porting note: `ENNReal.{mul_sub, sub_mul}` should be protected
+            -- Porting note: `ENNReal.{mul_sub, sub_mul}` should be protected
             _ ≤ ‖e.1‖ * ‖e.2 - x.2‖ + ‖e.1 - x.1‖ * ‖x.2‖ :=
               norm_add_le_of_le (norm_mul_le _ _) (norm_mul_le _ _)
         refine squeeze_zero (fun e => norm_nonneg _) this ?_
@@ -859,7 +859,7 @@ instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContin
       ‖e⁻¹ - r⁻¹‖ = ‖r‖⁻¹ * ‖r - e‖ * ‖e‖⁻¹ := by
         rw [← norm_inv, ← norm_inv, ← norm_mul, ← norm_mul, _root_.mul_sub, _root_.sub_mul,
           mul_assoc _ e, inv_mul_cancel r0, mul_inv_cancel e0, one_mul, mul_one]
-      -- porting note: `ENNReal.{mul_sub, sub_mul}` should be `protected`
+      -- Porting note: `ENNReal.{mul_sub, sub_mul}` should be `protected`
       _ = ‖r - e‖ / ‖r‖ / ‖e‖ := by field_simp [mul_comm]
       _ ≤ ‖r - e‖ / ‖r‖ / ε := by gcongr
   refine' squeeze_zero' (eventually_of_forall fun _ => norm_nonneg _) this _
@@ -1075,7 +1075,7 @@ theorem nnnorm_eq (x : ℝ≥0) : ‖(x : ℝ)‖₊ = x :=
 
 end NNReal
 
-@[simp 1001] -- porting note: increase priority so that the LHS doesn't simplify
+@[simp 1001] -- Porting note: increase priority so that the LHS doesn't simplify
 theorem norm_norm [SeminormedAddCommGroup α] (x : α) : ‖‖x‖‖ = ‖x‖ :=
   Real.norm_of_nonneg (norm_nonneg _)
 #align norm_norm norm_norm
@@ -1256,7 +1256,7 @@ def NormedField.induced [Field R] [NormedField S] [NonUnitalRingHomClass F R S]
 theorem NormOneClass.induced {F : Type*} (R S : Type*) [Ring R] [SeminormedRing S]
     [NormOneClass S] [FunLike F R S] [RingHomClass F R S] (f : F) :
     @NormOneClass R (SeminormedRing.induced R S f).toNorm _ :=
-  -- porting note: is this `let` a bad idea somehow?
+  -- Porting note: is this `let` a bad idea somehow?
   let _ : SeminormedRing R := SeminormedRing.induced R S f
   { norm_one := (congr_arg norm (map_one f)).trans norm_one }
 #align norm_one_class.induced NormOneClass.induced
chore: classify simp can do this porting notes (#10619)

Classify by adding issue number (#10618) to porting notes claiming anything semantically equivalent to simp can prove this or simp can simplify this.

Diff
@@ -1064,7 +1064,7 @@ namespace NNReal
 
 open NNReal
 
--- porting note: removed `@[simp]` because `simp` can prove this
+-- porting note (#10618): removed `@[simp]` because `simp` can prove this
 theorem norm_eq (x : ℝ≥0) : ‖(x : ℝ)‖ = x := by rw [Real.norm_eq_abs, x.abs_eq]
 #align nnreal.norm_eq NNReal.norm_eq
 
feat: injectivity of continuous linear maps is an open condition (#10487)

in finite-dimensional spaces over a complete field. This is used to showing that immersions are open. NB: this result is false for general continuous maps (only surjectivity is open there).

From the sphere-eversion project.

Diff
@@ -1117,6 +1117,7 @@ instance Rat.denselyNormedField : DenselyNormedField ℚ where
   lt_norm_lt r₁ r₂ h₀ hr :=
     let ⟨q, h⟩ := exists_rat_btwn hr
     ⟨q, by rwa [← Rat.norm_cast_real, Real.norm_eq_abs, abs_of_pos (h₀.trans_lt h.1)]⟩
+
 section RingHomIsometric
 
 variable {R₁ : Type*} {R₂ : Type*} {R₃ : Type*}
refactor(Data/FunLike): use unbundled inheritance from FunLike (#8386)

The FunLike hierarchy is very big and gets scanned through each time we need a coercion (via the CoeFun instance). It looks like unbundled inheritance suits Lean 4 better here. The only class that still extends FunLike is EquivLike, since that has a custom coe_injective' field that is easier to implement. All other classes should take FunLike or EquivLike as a parameter.

Zulip thread

Important changes

Previously, morphism classes would be Type-valued and extend FunLike:

/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
  extends FunLike F A B :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))

After this PR, they should be Prop-valued and take FunLike as a parameter:

/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
  [FunLike F A B] : Prop :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))

(Note that A B stay marked as outParam even though they are not purely required to be so due to the FunLike parameter already filling them in. This is required to see through type synonyms, which is important in the category theory library. Also, I think keeping them as outParam is slightly faster.)

Similarly, MyEquivClass should take EquivLike as a parameter.

As a result, every mention of [MyHomClass F A B] should become [FunLike F A B] [MyHomClass F A B].

Remaining issues

Slower (failing) search

While overall this gives some great speedups, there are some cases that are noticeably slower. In particular, a failing application of a lemma such as map_mul is more expensive. This is due to suboptimal processing of arguments. For example:

variable [FunLike F M N] [Mul M] [Mul N] (f : F) (x : M) (y : M)

theorem map_mul [MulHomClass F M N] : f (x * y) = f x * f y

example [AddHomClass F A B] : f (x * y) = f x * f y := map_mul f _ _

Before this PR, applying map_mul f gives the goals [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]. Since M and N are out_params, [MulHomClass F ?M ?N] is synthesized first, supplies values for ?M and ?N and then the Mul M and Mul N instances can be found.

After this PR, the goals become [FunLike F ?M ?N] [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]. Now [FunLike F ?M ?N] is synthesized first, supplies values for ?M and ?N and then the Mul M and Mul N instances can be found, before trying MulHomClass F M N which fails. Since the Mul hierarchy is very big, this can be slow to fail, especially when there is no such Mul instance.

A long-term but harder to achieve solution would be to specify the order in which instance goals get solved. For example, we'd like to change the arguments to map_mul to look like [FunLike F M N] [Mul M] [Mul N] [highPriority <| MulHomClass F M N] because MulHomClass fails or succeeds much faster than the others.

As a consequence, the simpNF linter is much slower since by design it tries and fails to apply many map_ lemmas. The same issue occurs a few times in existing calls to simp [map_mul], where map_mul is tried "too soon" and fails. Thanks to the speedup of leanprover/lean4#2478 the impact is very limited, only in files that already were close to the timeout.

simp not firing sometimes

This affects map_smulₛₗ and related definitions. For simp lemmas Lean apparently uses a slightly different mechanism to find instances, so that rw can find every argument to map_smulₛₗ successfully but simp can't: leanprover/lean4#3701.

Missing instances due to unification failing

Especially in the category theory library, we might sometimes have a type A which is also accessible as a synonym (Bundled A hA).1. Instance synthesis doesn't always work if we have f : A →* B but x * y : (Bundled A hA).1 or vice versa. This seems to be mostly fixed by keeping A B as outParams in MulHomClass F A B. (Presumably because Lean will do a definitional check A =?= (Bundled A hA).1 instead of using the syntax in the discrimination tree.)

Workaround for issues

The timeouts can be worked around for now by specifying which map_mul we mean, either as map_mul f for some explicit f, or as e.g. MonoidHomClass.map_mul.

map_smulₛₗ not firing as simp lemma can be worked around by going back to the pre-FunLike situation and making LinearMap.map_smulₛₗ a simp lemma instead of the generic map_smulₛₗ. Writing simp [map_smulₛₗ _] also works.

Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>

Diff
@@ -1144,6 +1144,7 @@ end RingHomIsometric
 section Induced
 
 variable {F : Type*} (R S : Type*)
+variable [FunLike F R S]
 
 /-- A non-unital ring homomorphism from a `NonUnitalRing` to a `NonUnitalSeminormedRing`
 induces a `NonUnitalSeminormedRing` structure on the domain.
@@ -1252,7 +1253,7 @@ def NormedField.induced [Field R] [NormedField S] [NonUnitalRingHomClass F R S]
 /-- A ring homomorphism from a `Ring R` to a `SeminormedRing S` which induces the norm structure
 `SeminormedRing.induced` makes `R` satisfy `‖(1 : R)‖ = 1` whenever `‖(1 : S)‖ = 1`. -/
 theorem NormOneClass.induced {F : Type*} (R S : Type*) [Ring R] [SeminormedRing S]
-    [NormOneClass S] [RingHomClass F R S] (f : F) :
+    [NormOneClass S] [FunLike F R S] [RingHomClass F R S] (f : F) :
     @NormOneClass R (SeminormedRing.induced R S f).toNorm _ :=
   -- porting note: is this `let` a bad idea somehow?
   let _ : SeminormedRing R := SeminormedRing.induced R S f
chore: reduce imports (#9830)

This uses the improved shake script from #9772 to reduce imports across mathlib. The corresponding noshake.json file has been added to #9772.

Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -7,7 +7,7 @@ import Mathlib.Algebra.Algebra.NonUnitalSubalgebra
 import Mathlib.Algebra.Algebra.Subalgebra.Basic
 import Mathlib.Analysis.Normed.Group.Basic
 import Mathlib.GroupTheory.OrderOfElement
-import Mathlib.Topology.Instances.ENNReal
+import Mathlib.Topology.Instances.NNReal
 import Mathlib.Topology.MetricSpace.DilationEquiv
 
 #align_import analysis.normed.field.basic from "leanprover-community/mathlib"@"f06058e64b7e8397234455038f3f8aec83aaba5a"
feat: instances of NonUnital(Semi)NormedCommRing (#8665)

adds instances for the new NonUnital(Semi)NormedCommRing classes, and also adds some missing instances to Analysis.Normed.Field.Basic.

This gives us our first example of an actually non-unital commutative C⋆-algebra: C₀(X, ℂ) where X is a locally compact, noncompact Hausdorff space.

Diff
@@ -3,6 +3,7 @@ Copyright (c) 2018 Patrick Massot. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Johannes Hölzl
 -/
+import Mathlib.Algebra.Algebra.NonUnitalSubalgebra
 import Mathlib.Algebra.Algebra.Subalgebra.Basic
 import Mathlib.Analysis.Normed.Group.Basic
 import Mathlib.GroupTheory.OrderOfElement
@@ -266,6 +267,21 @@ theorem mulRight_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulRight x y‖ 
   exact norm_mul_le y x
 #align mul_right_bound mulRight_bound
 
+/-- A non-unital subalgebra of a non-unital seminormed ring is also a non-unital seminormed ring,
+with the restriction of the norm.  -/
+instance NonUnitalSubalgebra.nonUnitalSeminormedRing {𝕜 : Type*} [CommRing 𝕜] {E : Type*}
+    [NonUnitalSeminormedRing E] [Module 𝕜 E] (s : NonUnitalSubalgebra 𝕜 E) :
+    NonUnitalSeminormedRing s :=
+  { s.toSubmodule.seminormedAddCommGroup, s.toNonUnitalRing with
+    norm_mul := fun a b => norm_mul_le a.1 b.1 }
+
+/-- A non-unital subalgebra of a non-unital normed ring is also a non-unital normed ring, with the
+restriction of the norm.  -/
+instance NonUnitalSubalgebra.nonUnitalNormedRing {𝕜 : Type*} [CommRing 𝕜] {E : Type*}
+    [NonUnitalNormedRing E] [Module 𝕜 E] (s : NonUnitalSubalgebra 𝕜 E) : NonUnitalNormedRing s :=
+  { s.nonUnitalSeminormedRing with
+    eq_of_dist_eq_zero := eq_of_dist_eq_zero }
+
 instance ULift.nonUnitalSeminormedRing : NonUnitalSeminormedRing (ULift α) :=
   { ULift.seminormedAddCommGroup, ULift.nonUnitalRing with
     norm_mul := fun x y => (norm_mul_le x.down y.down : _) }
@@ -318,18 +334,15 @@ section SeminormedRing
 
 variable [SeminormedRing α]
 
-/-- A subalgebra of a seminormed ring is also a seminormed ring, with the restriction of the norm.
-
-See note [implicit instance arguments]. -/
+/-- A subalgebra of a seminormed ring is also a seminormed ring, with the restriction of the
+norm. -/
 instance Subalgebra.seminormedRing {𝕜 : Type*} [CommRing 𝕜] {E : Type*} [SeminormedRing E]
     [Algebra 𝕜 E] (s : Subalgebra 𝕜 E) : SeminormedRing s :=
   { s.toSubmodule.seminormedAddCommGroup, s.toRing with
     norm_mul := fun a b => norm_mul_le a.1 b.1 }
 #align subalgebra.semi_normed_ring Subalgebra.seminormedRing
 
-/-- A subalgebra of a normed ring is also a normed ring, with the restriction of the norm.
-
-See note [implicit instance arguments]. -/
+/-- A subalgebra of a normed ring is also a normed ring, with the restriction of the norm. -/
 instance Subalgebra.normedRing {𝕜 : Type*} [CommRing 𝕜] {E : Type*} [NormedRing E]
     [Algebra 𝕜 E] (s : Subalgebra 𝕜 E) : NormedRing s :=
   { s.seminormedRing with
@@ -522,10 +535,25 @@ instance MulOpposite.nonUnitalSeminormedCommRing : NonUnitalSeminormedCommRing 
   { MulOpposite.nonUnitalSeminormedRing, MulOpposite.nonUnitalCommRing α with }
 
 end NonUnitalSeminormedCommRing
+
 section NonUnitalNormedCommRing
 
 variable [NonUnitalNormedCommRing α]
 
+/-- A non-unital subalgebra of a non-unital seminormed commutative ring is also a non-unital
+seminormed commutative ring, with the restriction of the norm.  -/
+instance NonUnitalSubalgebra.nonUnitalSeminormedCommRing {𝕜 : Type*} [CommRing 𝕜] {E : Type*}
+    [NonUnitalSeminormedCommRing E] [Module 𝕜 E] (s : NonUnitalSubalgebra 𝕜 E) :
+    NonUnitalSeminormedCommRing s :=
+  { s.nonUnitalSeminormedRing, s.toNonUnitalCommRing with }
+
+/-- A non-unital subalgebra of a non-unital normed commutative ring is also a non-unital normed
+commutative ring, with the restriction of the norm.  -/
+instance NonUnitalSubalgebra.nonUnitalNormedCommRing {𝕜 : Type*} [CommRing 𝕜] {E : Type*}
+    [NonUnitalNormedCommRing E] [Module 𝕜 E] (s : NonUnitalSubalgebra 𝕜 E) :
+    NonUnitalNormedCommRing s :=
+  { s.nonUnitalSeminormedCommRing, s.nonUnitalNormedRing with }
+
 instance ULift.nonUnitalNormedCommRing : NonUnitalNormedCommRing (ULift α) :=
   { ULift.nonUnitalSeminormedCommRing, ULift.normedAddCommGroup with }
 
@@ -546,6 +574,64 @@ instance MulOpposite.nonUnitalNormedCommRing : NonUnitalNormedCommRing αᵐᵒ
 
 end NonUnitalNormedCommRing
 
+section SeminormedCommRing
+
+variable [SeminormedCommRing α]
+
+instance ULift.seminormedCommRing : SeminormedCommRing (ULift α) :=
+  { ULift.nonUnitalSeminormedRing, ULift.commRing with }
+
+/-- Seminormed commutative ring structure on the product of two seminormed commutative rings,
+  using the sup norm. -/
+instance Prod.seminormedCommRing [SeminormedCommRing β] : SeminormedCommRing (α × β) :=
+  { Prod.nonUnitalSeminormedCommRing, instCommRing with }
+
+/-- Seminormed commutative ring structure on the product of finitely many seminormed commutative
+rings, using the sup norm. -/
+instance Pi.seminormedCommRing {π : ι → Type*} [Fintype ι] [∀ i, SeminormedCommRing (π i)] :
+    SeminormedCommRing (∀ i, π i) :=
+  { Pi.nonUnitalSeminormedCommRing, Pi.ring with }
+
+instance MulOpposite.seminormedCommRing : SeminormedCommRing αᵐᵒᵖ :=
+  { MulOpposite.nonUnitalSeminormedCommRing, MulOpposite.ring α with }
+
+end SeminormedCommRing
+
+section NormedCommRing
+
+/-- A subalgebra of a seminormed commutative ring is also a seminormed commutative ring, with the
+restriction of the norm.  -/
+instance Subalgebra.seminormedCommRing {𝕜 : Type*} [CommRing 𝕜] {E : Type*} [SeminormedCommRing E]
+    [Algebra 𝕜 E] (s : Subalgebra 𝕜 E) : SeminormedCommRing s :=
+  { s.seminormedRing, s.toCommRing with }
+
+/-- A subalgebra of a normed commutative ring is also a normed commutative ring, with the
+restriction of the norm.  -/
+instance Subalgebra.normedCommRing {𝕜 : Type*} [CommRing 𝕜] {E : Type*} [NormedCommRing E]
+    [Algebra 𝕜 E] (s : Subalgebra 𝕜 E) : NormedCommRing s :=
+  { s.seminormedCommRing, s.normedRing with }
+
+variable [NormedCommRing α]
+
+instance ULift.normedCommRing : NormedCommRing (ULift α) :=
+  { ULift.normedRing (α := α), ULift.seminormedCommRing with }
+
+/-- Normed commutative ring structure on the product of two normed commutative rings, using the sup
+norm. -/
+instance Prod.normedCommRing [NormedCommRing β] : NormedCommRing (α × β) :=
+  { nonUnitalNormedRing, instCommRing with }
+
+/-- Normed commutative ring structure on the product of finitely many normed commutative rings,
+using the sup norm. -/
+instance Pi.normedCommutativeRing {π : ι → Type*} [Fintype ι] [∀ i, NormedCommRing (π i)] :
+    NormedCommRing (∀ i, π i) :=
+  { Pi.seminormedCommRing, Pi.normedAddCommGroup with }
+
+instance MulOpposite.normedCommRing : NormedCommRing αᵐᵒᵖ :=
+  { MulOpposite.seminormedCommRing, MulOpposite.normedAddCommGroup with }
+
+end NormedCommRing
+
 -- see Note [lower instance priority]
 instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing α] :
     ContinuousMul α :=
feat: Finite order elements have norm one (#9516)

This lemma already existed, but with an impractical spelling.

From LeanAPAP

Diff
@@ -5,6 +5,7 @@ Authors: Patrick Massot, Johannes Hölzl
 -/
 import Mathlib.Algebra.Algebra.Subalgebra.Basic
 import Mathlib.Analysis.Normed.Group.Basic
+import Mathlib.GroupTheory.OrderOfElement
 import Mathlib.Topology.Instances.ENNReal
 import Mathlib.Topology.MetricSpace.DilationEquiv
 
@@ -579,7 +580,7 @@ instance (priority := 100) semi_normed_top_ring [NonUnitalSeminormedRing α] : T
 
 section NormedDivisionRing
 
-variable [NormedDivisionRing α]
+variable [NormedDivisionRing α] {a : α}
 
 @[simp]
 theorem norm_mul (a b : α) : ‖a * b‖ = ‖a‖ * ‖b‖ :=
@@ -786,15 +787,13 @@ instance (priority := 100) NormedDivisionRing.to_topologicalDivisionRing : Topol
     where
 #align normed_division_ring.to_topological_division_ring NormedDivisionRing.to_topologicalDivisionRing
 
-theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ (k : ℕ) = 1) :
-    ‖φ x‖ = 1 := by
-  rw [← pow_left_inj, ← norm_pow, ← map_pow, h, map_one, norm_one, one_pow]
-  exacts [norm_nonneg _, zero_le_one, k.ne_zero]
-#align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_one
+protected lemma IsOfFinOrder.norm_eq_one (ha : IsOfFinOrder a) : ‖a‖ = 1 :=
+  ((normHom : α →*₀ ℝ).toMonoidHom.isOfFinOrder ha).eq_one $ norm_nonneg _
+#align norm_one_of_pow_eq_one IsOfFinOrder.norm_eq_one
 
-theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖x‖ = 1 :=
-  norm_map_one_of_pow_eq_one (MonoidHom.id α) h
-#align norm_one_of_pow_eq_one norm_one_of_pow_eq_one
+example [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ (k : ℕ) = 1) :
+    ‖φ x‖ = 1 := (φ.isOfFinOrder <| isOfFinOrder_iff_pow_eq_one.2 ⟨_, k.2, h⟩).norm_eq_one
+#noalign norm_map_one_of_pow_eq_one
 
 end NormedDivisionRing
 
chore: Rename pow monotonicity lemmas (#9095)

The names for lemmas about monotonicity of (a ^ ·) and (· ^ n) were a mess. This PR tidies up everything related by following the naming convention for (a * ·) and (· * b). Namely, (a ^ ·) is pow_right and (· ^ n) is pow_left in lemma names. All lemma renames follow the corresponding multiplication lemma names closely.

Renames

Algebra.GroupPower.Order

  • pow_monopow_right_mono
  • pow_le_powpow_le_pow_right
  • pow_le_pow_of_le_leftpow_le_pow_left
  • pow_lt_pow_of_lt_leftpow_lt_pow_left
  • strictMonoOn_powpow_left_strictMonoOn
  • pow_strictMono_rightpow_right_strictMono
  • pow_lt_powpow_lt_pow_right
  • pow_lt_pow_iffpow_lt_pow_iff_right
  • pow_le_pow_iffpow_le_pow_iff_right
  • self_lt_powlt_self_pow
  • strictAnti_powpow_right_strictAnti
  • pow_lt_pow_iff_of_lt_onepow_lt_pow_iff_right_of_lt_one
  • pow_lt_pow_of_lt_onepow_lt_pow_right_of_lt_one
  • lt_of_pow_lt_powlt_of_pow_lt_pow_left
  • le_of_pow_le_powle_of_pow_le_pow_left
  • pow_lt_pow₀pow_lt_pow_right₀

Algebra.GroupPower.CovariantClass

  • pow_le_pow_of_le_left'pow_le_pow_left'
  • nsmul_le_nsmul_of_le_rightnsmul_le_nsmul_right
  • pow_lt_pow'pow_lt_pow_right'
  • nsmul_lt_nsmulnsmul_lt_nsmul_left
  • pow_strictMono_leftpow_right_strictMono'
  • nsmul_strictMono_rightnsmul_left_strictMono
  • StrictMono.pow_right'StrictMono.pow_const
  • StrictMono.nsmul_leftStrictMono.const_nsmul
  • pow_strictMono_right'pow_left_strictMono
  • nsmul_strictMono_leftnsmul_right_strictMono
  • Monotone.pow_rightMonotone.pow_const
  • Monotone.nsmul_leftMonotone.const_nsmul
  • lt_of_pow_lt_pow'lt_of_pow_lt_pow_left'
  • lt_of_nsmul_lt_nsmullt_of_nsmul_lt_nsmul_right
  • pow_le_pow'pow_le_pow_right'
  • nsmul_le_nsmulnsmul_le_nsmul_left
  • pow_le_pow_of_le_one'pow_le_pow_right_of_le_one'
  • nsmul_le_nsmul_of_nonposnsmul_le_nsmul_left_of_nonpos
  • le_of_pow_le_pow'le_of_pow_le_pow_left'
  • le_of_nsmul_le_nsmul'le_of_nsmul_le_nsmul_right'
  • pow_le_pow_iff'pow_le_pow_iff_right'
  • nsmul_le_nsmul_iffnsmul_le_nsmul_iff_left
  • pow_lt_pow_iff'pow_lt_pow_iff_right'
  • nsmul_lt_nsmul_iffnsmul_lt_nsmul_iff_left

Data.Nat.Pow

  • Nat.pow_lt_pow_of_lt_leftNat.pow_lt_pow_left
  • Nat.pow_le_iff_le_leftNat.pow_le_pow_iff_left
  • Nat.pow_lt_iff_lt_leftNat.pow_lt_pow_iff_left

Lemmas added

  • pow_le_pow_iff_left
  • pow_lt_pow_iff_left
  • pow_right_injective
  • pow_right_inj
  • Nat.pow_le_pow_left to have the correct name since Nat.pow_le_pow_of_le_left is in Std.
  • Nat.pow_le_pow_right to have the correct name since Nat.pow_le_pow_of_le_right is in Std.

Lemmas removed

  • self_le_pow was a duplicate of le_self_pow.
  • Nat.pow_lt_pow_of_lt_right is defeq to pow_lt_pow_right.
  • Nat.pow_right_strictMono is defeq to pow_right_strictMono.
  • Nat.pow_le_iff_le_right is defeq to pow_le_pow_iff_right.
  • Nat.pow_lt_iff_lt_right is defeq to pow_lt_pow_iff_right.

Other changes

  • A bunch of proofs have been golfed.
  • Some lemma assumptions have been turned from 0 < n or 1 ≤ n to n ≠ 0.
  • A few Nat lemmas have been protected.
  • One docstring has been fixed.
Diff
@@ -789,7 +789,7 @@ instance (priority := 100) NormedDivisionRing.to_topologicalDivisionRing : Topol
 theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ (k : ℕ) = 1) :
     ‖φ x‖ = 1 := by
   rw [← pow_left_inj, ← norm_pow, ← map_pow, h, map_one, norm_one, one_pow]
-  exacts [norm_nonneg _, zero_le_one, k.pos]
+  exacts [norm_nonneg _, zero_le_one, k.ne_zero]
 #align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_one
 
 theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖x‖ = 1 :=
feat: define NonUnital(Semi)NormedCommRing (#8664)

This adds commutative versions of the existing NonUnital(Semi)NormedRing classes. This is essential for talking about, for example, non-unital commutative C⋆-algebras.

Diff
@@ -101,6 +101,24 @@ instance (priority := 100) NormedRing.toNonUnitalNormedRing [β : NormedRing α]
   { β with }
 #align normed_ring.to_non_unital_normed_ring NormedRing.toNonUnitalNormedRing
 
+/-- A non-unital seminormed commutative ring is a non-unital commutative ring endowed with a
+seminorm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
+class NonUnitalSeminormedCommRing (α : Type*) extends NonUnitalSeminormedRing α where
+  /-- Multiplication is commutative. -/
+  mul_comm : ∀ x y : α, x * y = y * x
+
+/-- A non-unital normed commutative ring is a non-unital commutative ring endowed with a
+norm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
+class NonUnitalNormedCommRing (α : Type*) extends NonUnitalNormedRing α where
+  /-- Multiplication is commutative. -/
+  mul_comm : ∀ x y : α, x * y = y * x
+
+-- see Note [lower instance priority]
+/-- A non-unital normed commutative ring is a non-unital seminormed commutative ring. -/
+instance (priority := 100) NonUnitalNormedCommRing.toNonUnitalSeminormedCommRing
+    [β : NonUnitalNormedCommRing α] : NonUnitalSeminormedCommRing α :=
+  { β with }
+
 /-- A seminormed commutative ring is a commutative ring endowed with a seminorm which satisfies
 the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
 class SeminormedCommRing (α : Type*) extends SeminormedRing α where
@@ -115,6 +133,18 @@ class NormedCommRing (α : Type*) extends NormedRing α where
   mul_comm : ∀ x y : α, x * y = y * x
 #align normed_comm_ring NormedCommRing
 
+-- see Note [lower instance priority]
+/-- A seminormed commutative ring is a non-unital seminormed commutative ring. -/
+instance (priority := 100) SeminormedCommRing.toNonUnitalSeminormedCommRing
+    [β : SeminormedCommRing α] : NonUnitalSeminormedCommRing α :=
+  { β with }
+
+-- see Note [lower instance priority]
+/-- A normed commutative ring is a non-unital normed commutative ring. -/
+instance (priority := 100) NormedCommRing.toNonUnitalNormedCommRing
+    [β : NormedCommRing α] : NonUnitalNormedCommRing α :=
+  { β with }
+
 -- see Note [lower instance priority]
 /-- A normed commutative ring is a seminormed commutative ring. -/
 instance (priority := 100) NormedCommRing.toSeminormedCommRing [β : NormedCommRing α] :
@@ -147,6 +177,11 @@ theorem NormOneClass.nontrivial (α : Type*) [SeminormedAddCommGroup α] [One α
   nontrivial_of_ne 0 1 <| ne_of_apply_ne norm <| by simp
 #align norm_one_class.nontrivial NormOneClass.nontrivial
 
+-- see Note [lower instance priority]
+instance (priority := 100) NonUnitalSeminormedCommRing.toNonUnitalCommRing
+    [β : NonUnitalSeminormedCommRing α] : NonUnitalCommRing α :=
+  { β with }
+
 -- see Note [lower instance priority]
 instance (priority := 100) SeminormedCommRing.toCommRing [β : SeminormedCommRing α] : CommRing α :=
   { β with }
@@ -463,6 +498,53 @@ instance MulOpposite.normedRing : NormedRing αᵐᵒᵖ :=
 
 end NormedRing
 
+section NonUnitalSeminormedCommRing
+
+variable [NonUnitalSeminormedCommRing α]
+
+instance ULift.nonUnitalSeminormedCommRing : NonUnitalSeminormedCommRing (ULift α) :=
+  { ULift.nonUnitalSeminormedRing, ULift.nonUnitalCommRing with }
+
+/-- Non-unital seminormed commutative ring structure on the product of two non-unital seminormed
+commutative rings, using the sup norm. -/
+instance Prod.nonUnitalSeminormedCommRing [NonUnitalSeminormedCommRing β] :
+    NonUnitalSeminormedCommRing (α × β) :=
+  { nonUnitalSeminormedRing, instNonUnitalCommRing with }
+
+/-- Non-unital seminormed commutative ring structure on the product of finitely many non-unital
+seminormed commutative rings, using the sup norm. -/
+instance Pi.nonUnitalSeminormedCommRing {π : ι → Type*} [Fintype ι]
+    [∀ i, NonUnitalSeminormedCommRing (π i)] : NonUnitalSeminormedCommRing (∀ i, π i) :=
+  { Pi.nonUnitalSeminormedRing, Pi.nonUnitalCommRing with }
+
+instance MulOpposite.nonUnitalSeminormedCommRing : NonUnitalSeminormedCommRing αᵐᵒᵖ :=
+  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.nonUnitalCommRing α with }
+
+end NonUnitalSeminormedCommRing
+section NonUnitalNormedCommRing
+
+variable [NonUnitalNormedCommRing α]
+
+instance ULift.nonUnitalNormedCommRing : NonUnitalNormedCommRing (ULift α) :=
+  { ULift.nonUnitalSeminormedCommRing, ULift.normedAddCommGroup with }
+
+/-- Non-unital normed commutative ring structure on the product of two non-unital normed
+commutative rings, using the sup norm. -/
+instance Prod.nonUnitalNormedCommRing [NonUnitalNormedCommRing β] :
+    NonUnitalNormedCommRing (α × β) :=
+  { Prod.nonUnitalSeminormedCommRing, Prod.normedAddCommGroup with }
+
+/-- Normed commutative ring structure on the product of finitely many non-unital normed
+commutative rings, using the sup norm. -/
+instance Pi.nonUnitalNormedCommRing {π : ι → Type*} [Fintype ι]
+    [∀ i, NonUnitalNormedCommRing (π i)] : NonUnitalNormedCommRing (∀ i, π i) :=
+  { Pi.nonUnitalSeminormedCommRing, Pi.normedAddCommGroup with }
+
+instance MulOpposite.nonUnitalNormedCommRing : NonUnitalNormedCommRing αᵐᵒᵖ :=
+  { MulOpposite.nonUnitalSeminormedCommRing, MulOpposite.normedAddCommGroup with }
+
+end NonUnitalNormedCommRing
+
 -- see Note [lower instance priority]
 instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing α] :
     ContinuousMul α :=
@@ -1021,6 +1103,23 @@ def NormedRing.induced [Ring R] [NormedRing S] [NonUnitalRingHomClass F R S] (f
   { NonUnitalSeminormedRing.induced R S f, NormedAddCommGroup.induced R S f hf, ‹Ring R› with }
 #align normed_ring.induced NormedRing.induced
 
+/-- A non-unital ring homomorphism from a `NonUnitalCommRing` to a `NonUnitalSeminormedCommRing`
+induces a `NonUnitalSeminormedCommRing` structure on the domain.
+
+See note [reducible non-instances] -/
+@[reducible]
+def NonUnitalSeminormedCommRing.induced [NonUnitalCommRing R] [NonUnitalSeminormedCommRing S]
+    [NonUnitalRingHomClass F R S] (f : F) : NonUnitalSeminormedCommRing R :=
+  { NonUnitalSeminormedRing.induced R S f, ‹NonUnitalCommRing R› with }
+
+/-- An injective non-unital ring homomorphism from a `NonUnitalCommRing` to a
+`NonUnitalNormedCommRing` induces a `NonUnitalNormedCommRing` structure on the domain.
+
+See note [reducible non-instances] -/
+@[reducible]
+def NonUnitalNormedCommRing.induced [NonUnitalCommRing R] [NonUnitalNormedCommRing S]
+    [NonUnitalRingHomClass F R S] (f : F) (hf : Function.Injective f) : NonUnitalNormedCommRing R :=
+  { NonUnitalNormedRing.induced R S f hf, ‹NonUnitalCommRing R› with }
 /-- A non-unital ring homomorphism from a `CommRing` to a `SeminormedRing` induces a
 `SeminormedCommRing` structure on the domain.
 
chore: remove deprecated MonoidHom.map_prod, AddMonoidHom.map_sum (#8787)
Diff
@@ -765,12 +765,12 @@ instance (priority := 100) NormedField.toNormedCommRing : NormedCommRing α :=
 
 @[simp]
 theorem norm_prod (s : Finset β) (f : β → α) : ‖∏ b in s, f b‖ = ∏ b in s, ‖f b‖ :=
-  (normHom.toMonoidHom : α →* ℝ).map_prod f s
+  map_prod normHom.toMonoidHom f s
 #align norm_prod norm_prod
 
 @[simp]
 theorem nnnorm_prod (s : Finset β) (f : β → α) : ‖∏ b in s, f b‖₊ = ∏ b in s, ‖f b‖₊ :=
-  (nnnormHom.toMonoidHom : α →* ℝ≥0).map_prod f s
+  map_prod nnnormHom.toMonoidHom f s
 #align nnnorm_prod nnnorm_prod
 
 end NormedField
chore: space after (#8178)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -949,7 +949,7 @@ instance Rat.normedField : NormedField ℚ :=
 instance Rat.denselyNormedField : DenselyNormedField ℚ where
   lt_norm_lt r₁ r₂ h₀ hr :=
     let ⟨q, h⟩ := exists_rat_btwn hr
-    ⟨q, by rwa [←Rat.norm_cast_real, Real.norm_eq_abs, abs_of_pos (h₀.trans_lt h.1)]⟩
+    ⟨q, by rwa [← Rat.norm_cast_real, Real.norm_eq_abs, abs_of_pos (h₀.trans_lt h.1)]⟩
 section RingHomIsometric
 
 variable {R₁ : Type*} {R₂ : Type*} {R₃ : Type*}
refactor: get rid of comap norm atTop (#8262)

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

Diff
@@ -6,6 +6,7 @@ Authors: Patrick Massot, Johannes Hölzl
 import Mathlib.Algebra.Algebra.Subalgebra.Basic
 import Mathlib.Analysis.Normed.Group.Basic
 import Mathlib.Topology.Instances.ENNReal
+import Mathlib.Topology.MetricSpace.DilationEquiv
 
 #align_import analysis.normed.field.basic from "leanprover-community/mathlib"@"f06058e64b7e8397234455038f3f8aec83aaba5a"
 
@@ -16,12 +17,10 @@ In this file we define (semi)normed rings and fields. We also prove some theorem
 definitions.
 -/
 
-
 variable {α : Type*} {β : Type*} {γ : Type*} {ι : Type*}
 
 open Filter Metric Bornology
-
-open Topology BigOperators NNReal ENNReal uniformity Pointwise
+open scoped Topology BigOperators NNReal ENNReal uniformity Pointwise
 
 /-- A non-unital seminormed ring is a not-necessarily-unital ring
 endowed with a seminorm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
@@ -595,46 +594,90 @@ theorem dist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
 #align dist_inv_inv₀ dist_inv_inv₀
 
 theorem nndist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
-    nndist z⁻¹ w⁻¹ = nndist z w / (‖z‖₊ * ‖w‖₊) := by
-  rw [← NNReal.coe_eq]
-  simp [-NNReal.coe_eq, dist_inv_inv₀ hz hw]
+    nndist z⁻¹ w⁻¹ = nndist z w / (‖z‖₊ * ‖w‖₊) :=
+  NNReal.eq <| dist_inv_inv₀ hz hw
 #align nndist_inv_inv₀ nndist_inv_inv₀
 
+lemma antilipschitzWith_mul_left {a : α} (ha : a ≠ 0) : AntilipschitzWith (‖a‖₊⁻¹) (a * ·) :=
+  AntilipschitzWith.of_le_mul_dist fun _ _ ↦ by simp [dist_eq_norm, ← _root_.mul_sub, ha]
+
+lemma antilipschitzWith_mul_right {a : α} (ha : a ≠ 0) : AntilipschitzWith (‖a‖₊⁻¹) (· * a) :=
+  AntilipschitzWith.of_le_mul_dist fun _ _ ↦ by
+    simp [dist_eq_norm, ← _root_.sub_mul, ← mul_comm (‖a‖), ha]
+
+/-- Multiplication by a nonzero element `a` on the left
+as a `DilationEquiv` of a normed division ring. -/
+@[simps!]
+def DilationEquiv.mulLeft (a : α) (ha : a ≠ 0) : α ≃ᵈ α where
+  toEquiv := Equiv.mulLeft₀ a ha
+  edist_eq' := ⟨‖a‖₊, nnnorm_ne_zero_iff.2 ha, fun x y ↦ by
+    simp [edist_nndist, nndist_eq_nnnorm, ← mul_sub]⟩
+
+/-- Multiplication by a nonzero element `a` on the right
+as a `DilationEquiv` of a normed division ring. -/
+@[simps!]
+def DilationEquiv.mulRight (a : α) (ha : a ≠ 0) : α ≃ᵈ α where
+  toEquiv := Equiv.mulRight₀ a ha
+  edist_eq' := ⟨‖a‖₊, nnnorm_ne_zero_iff.2 ha, fun x y ↦ by
+    simp [edist_nndist, nndist_eq_nnnorm, ← sub_mul, ← mul_comm (‖a‖₊)]⟩
+
+namespace Filter
+
+@[simp]
+lemma comap_mul_left_cobounded {a : α} (ha : a ≠ 0) :
+    comap (a * ·) (cobounded α) = cobounded α :=
+  Dilation.comap_cobounded (DilationEquiv.mulLeft a ha)
+
+@[simp]
+lemma map_mul_left_cobounded {a : α} (ha : a ≠ 0) :
+    map (a * ·) (cobounded α) = cobounded α :=
+  DilationEquiv.map_cobounded (DilationEquiv.mulLeft a ha)
+
+@[simp]
+lemma comap_mul_right_cobounded {a : α} (ha : a ≠ 0) :
+    comap (· * a) (cobounded α) = cobounded α :=
+  Dilation.comap_cobounded (DilationEquiv.mulRight a ha)
+
+@[simp]
+lemma map_mul_right_cobounded {a : α} (ha : a ≠ 0) :
+    map (· * a) (cobounded α) = cobounded α :=
+  DilationEquiv.map_cobounded (DilationEquiv.mulRight a ha)
+
 /-- Multiplication on the left by a nonzero element of a normed division ring tends to infinity at
-infinity. TODO: use `Bornology.cobounded` instead of `Filter.comap Norm.norm Filter.atTop`. -/
-theorem Filter.tendsto_mul_left_cobounded {a : α} (ha : a ≠ 0) :
-    Tendsto ((· * ·) a) (comap norm atTop) (comap norm atTop) := by
-  simpa only [tendsto_comap_iff, (· ∘ ·), norm_mul] using
-    tendsto_const_nhds.mul_atTop (norm_pos_iff.2 ha) tendsto_comap
+infinity. -/
+theorem tendsto_mul_left_cobounded {a : α} (ha : a ≠ 0) :
+    Tendsto (a * ·) (cobounded α) (cobounded α) :=
+  (map_mul_left_cobounded ha).le
 #align filter.tendsto_mul_left_cobounded Filter.tendsto_mul_left_cobounded
 
 /-- Multiplication on the right by a nonzero element of a normed division ring tends to infinity at
-infinity. TODO: use `Bornology.cobounded` instead of `Filter.comap Norm.norm Filter.atTop`. -/
-theorem Filter.tendsto_mul_right_cobounded {a : α} (ha : a ≠ 0) :
-    Tendsto (fun x => x * a) (comap norm atTop) (comap norm atTop) := by
-  simpa only [tendsto_comap_iff, (· ∘ ·), norm_mul] using
-    tendsto_comap.atTop_mul (norm_pos_iff.2 ha) tendsto_const_nhds
+infinity. -/
+theorem tendsto_mul_right_cobounded {a : α} (ha : a ≠ 0) :
+    Tendsto (· * a) (cobounded α) (cobounded α) :=
+  (map_mul_right_cobounded ha).le
 #align filter.tendsto_mul_right_cobounded Filter.tendsto_mul_right_cobounded
 
 @[simp]
-lemma Filter.inv_cobounded₀ : (cobounded α)⁻¹ = 𝓝[≠] 0 := by
+lemma inv_cobounded₀ : (cobounded α)⁻¹ = 𝓝[≠] 0 := by
   rw [← comap_norm_atTop, ← Filter.comap_inv, ← comap_norm_nhdsWithin_Ioi_zero,
     ← inv_atTop₀, ← Filter.comap_inv]
   simp only [comap_comap, (· ∘ ·), norm_inv]
 
 @[simp]
-lemma Filter.inv_nhdsWithin_ne_zero : (𝓝[≠] (0 : α))⁻¹ = cobounded α := by
+lemma inv_nhdsWithin_ne_zero : (𝓝[≠] (0 : α))⁻¹ = cobounded α := by
   rw [← inv_cobounded₀, inv_inv]
 
-lemma Filter.tendsto_inv₀_cobounded' : Tendsto Inv.inv (cobounded α) (𝓝[≠] 0) :=
+lemma tendsto_inv₀_cobounded' : Tendsto Inv.inv (cobounded α) (𝓝[≠] 0) :=
   inv_cobounded₀.le
 
-theorem Filter.tendsto_inv₀_cobounded : Tendsto Inv.inv (cobounded α) (𝓝 0) :=
+theorem tendsto_inv₀_cobounded : Tendsto Inv.inv (cobounded α) (𝓝 0) :=
   tendsto_inv₀_cobounded'.mono_right inf_le_left
 
-lemma Filter.tendsto_inv₀_nhdsWithin_ne_zero : Tendsto Inv.inv (𝓝[≠] 0) (cobounded α) :=
+lemma tendsto_inv₀_nhdsWithin_ne_zero : Tendsto Inv.inv (𝓝[≠] 0) (cobounded α) :=
   inv_nhdsWithin_ne_zero.le
 
+end Filter
+
 -- see Note [lower instance priority]
 instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContinuousInv₀ α := by
   refine' ⟨fun r r0 => tendsto_iff_norm_sub_tendsto_zero.2 _⟩
@@ -841,7 +884,7 @@ namespace Real
 theorem toNNReal_mul_nnnorm {x : ℝ} (y : ℝ) (hx : 0 ≤ x) : x.toNNReal * ‖y‖₊ = ‖x * y‖₊ := by
   ext
   simp only [NNReal.coe_mul, nnnorm_mul, coe_nnnorm, Real.toNNReal_of_nonneg, norm_of_nonneg, hx,
-    coe_mk]
+    NNReal.coe_mk]
 #align real.to_nnreal_mul_nnnorm Real.toNNReal_mul_nnnorm
 
 theorem nnnorm_mul_toNNReal (x : ℝ) {y : ℝ} (hy : 0 ≤ y) : ‖x‖₊ * y.toNNReal = ‖x * y‖₊ := by
@@ -1057,5 +1100,5 @@ instance toNormedCommRing [NormedCommRing R] [SubringClass S R] (s : S) : Normed
 
 end SubringClass
 
--- Guard again import creep.
+-- Guard against import creep.
 assert_not_exists RestrictScalars
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
@@ -783,8 +783,8 @@ theorem exists_lt_norm_lt {r₁ r₂ : ℝ} (h₀ : 0 ≤ r₁) (h : r₁ < r₂
   DenselyNormedField.lt_norm_lt r₁ r₂ h₀ h
 #align normed_field.exists_lt_norm_lt NormedField.exists_lt_norm_lt
 
-theorem exists_lt_nnnorm_lt {r₁ r₂ : ℝ≥0} (h : r₁ < r₂) : ∃ x : α, r₁ < ‖x‖₊ ∧ ‖x‖₊ < r₂ := by
-  exact_mod_cast exists_lt_norm_lt α r₁.prop h
+theorem exists_lt_nnnorm_lt {r₁ r₂ : ℝ≥0} (h : r₁ < r₂) : ∃ x : α, r₁ < ‖x‖₊ ∧ ‖x‖₊ < r₂ :=
+  mod_cast exists_lt_norm_lt α r₁.prop h
 #align normed_field.exists_lt_nnnorm_lt NormedField.exists_lt_nnnorm_lt
 
 instance denselyOrdered_range_norm : DenselyOrdered (Set.range (norm : α → ℝ)) where
feat: infinite normed field is noncompact (#8349)

Generalize from nontrivially normed fields to normed fields. Also prove that a nontrivially normed field is infinite.

Diff
@@ -811,6 +811,19 @@ end Densely
 
 end NormedField
 
+/-- A normed field is nontrivially normed
+provided that the norm of some nonzero element is not one. -/
+def NontriviallyNormedField.ofNormNeOne {𝕜 : Type*} [h' : NormedField 𝕜]
+    (h : ∃ x : 𝕜, x ≠ 0 ∧ ‖x‖ ≠ 1) : NontriviallyNormedField 𝕜 where
+  toNormedField := h'
+  non_trivial := by
+    rcases h with ⟨x, hx, hx1⟩
+    rcases hx1.lt_or_lt with hlt | hlt
+    · use x⁻¹
+      rw [norm_inv]
+      exact one_lt_inv (norm_pos_iff.2 hx) hlt
+    · exact ⟨x, hlt⟩
+
 instance Real.normedCommRing : NormedCommRing ℝ :=
   { Real.normedAddCommGroup, Real.commRing with norm_mul := fun x y => (abs_mul x y).le }
 
feat: inv interchanges cobounded and 𝓝[≠] 0 in normed division rings (#8234)

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

Diff
@@ -19,7 +19,7 @@ definitions.
 
 variable {α : Type*} {β : Type*} {γ : Type*} {ι : Type*}
 
-open Filter Metric
+open Filter Metric Bornology
 
 open Topology BigOperators NNReal ENNReal uniformity Pointwise
 
@@ -616,6 +616,25 @@ theorem Filter.tendsto_mul_right_cobounded {a : α} (ha : a ≠ 0) :
     tendsto_comap.atTop_mul (norm_pos_iff.2 ha) tendsto_const_nhds
 #align filter.tendsto_mul_right_cobounded Filter.tendsto_mul_right_cobounded
 
+@[simp]
+lemma Filter.inv_cobounded₀ : (cobounded α)⁻¹ = 𝓝[≠] 0 := by
+  rw [← comap_norm_atTop, ← Filter.comap_inv, ← comap_norm_nhdsWithin_Ioi_zero,
+    ← inv_atTop₀, ← Filter.comap_inv]
+  simp only [comap_comap, (· ∘ ·), norm_inv]
+
+@[simp]
+lemma Filter.inv_nhdsWithin_ne_zero : (𝓝[≠] (0 : α))⁻¹ = cobounded α := by
+  rw [← inv_cobounded₀, inv_inv]
+
+lemma Filter.tendsto_inv₀_cobounded' : Tendsto Inv.inv (cobounded α) (𝓝[≠] 0) :=
+  inv_cobounded₀.le
+
+theorem Filter.tendsto_inv₀_cobounded : Tendsto Inv.inv (cobounded α) (𝓝 0) :=
+  tendsto_inv₀_cobounded'.mono_right inf_le_left
+
+lemma Filter.tendsto_inv₀_nhdsWithin_ne_zero : Tendsto Inv.inv (𝓝[≠] 0) (cobounded α) :=
+  inv_nhdsWithin_ne_zero.le
+
 -- see Note [lower instance priority]
 instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContinuousInv₀ α := by
   refine' ⟨fun r r0 => tendsto_iff_norm_sub_tendsto_zero.2 _⟩
chore: cleanup typo in filter_upwards (#7719)

mathport was forgetting a space in filter_upwards [...]with instead of filter_upwards [...] with.

Diff
@@ -622,7 +622,7 @@ instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContin
   have r0' : 0 < ‖r‖ := norm_pos_iff.2 r0
   rcases exists_between r0' with ⟨ε, ε0, εr⟩
   have : ∀ᶠ e in 𝓝 r, ‖e⁻¹ - r⁻¹‖ ≤ ‖r - e‖ / ‖r‖ / ε := by
-    filter_upwards [(isOpen_lt continuous_const continuous_norm).eventually_mem εr]with e he
+    filter_upwards [(isOpen_lt continuous_const continuous_norm).eventually_mem εr] with e he
     have e0 : e ≠ 0 := norm_pos_iff.1 (ε0.trans he)
     calc
       ‖e⁻¹ - r⁻¹‖ = ‖r‖⁻¹ * ‖r - e‖ * ‖e‖⁻¹ := by
fix(Analysis,Topology): fix names (#6938)

Rename:

  • tendsto_iff_norm_tendsto_onetendsto_iff_norm_div_tendsto_zero;
  • tendsto_iff_norm_tendsto_zerotendsto_iff_norm_sub_tendsto_zero;
  • tendsto_one_iff_norm_tendsto_onetendsto_one_iff_norm_tendsto_zero;
  • Filter.Tendsto.continuous_of_equicontinuous_atFilter.Tendsto.continuous_of_equicontinuousAt.
Diff
@@ -468,7 +468,7 @@ end NormedRing
 instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing α] :
     ContinuousMul α :=
   ⟨continuous_iff_continuousAt.2 fun x =>
-      tendsto_iff_norm_tendsto_zero.2 <| by
+      tendsto_iff_norm_sub_tendsto_zero.2 <| by
         have : ∀ e : α × α,
             ‖e.1 * e.2 - x.1 * x.2‖ ≤ ‖e.1‖ * ‖e.2 - x.2‖ + ‖e.1 - x.1‖ * ‖x.2‖ := by
           intro e
@@ -618,7 +618,7 @@ theorem Filter.tendsto_mul_right_cobounded {a : α} (ha : a ≠ 0) :
 
 -- see Note [lower instance priority]
 instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContinuousInv₀ α := by
-  refine' ⟨fun r r0 => tendsto_iff_norm_tendsto_zero.2 _⟩
+  refine' ⟨fun r r0 => tendsto_iff_norm_sub_tendsto_zero.2 _⟩
   have r0' : 0 < ‖r‖ := norm_pos_iff.2 r0
   rcases exists_between r0' with ⟨ε, ε0, εr⟩
   have : ∀ᶠ e in 𝓝 r, ‖e⁻¹ - r⁻¹‖ ≤ ‖r - e‖ / ‖r‖ / ε := by
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
@@ -17,7 +17,7 @@ definitions.
 -/
 
 
-variable {α : Type _} {β : Type _} {γ : Type _} {ι : Type _}
+variable {α : Type*} {β : Type*} {γ : Type*} {ι : Type*}
 
 open Filter Metric
 
@@ -25,7 +25,7 @@ open Topology BigOperators NNReal ENNReal uniformity Pointwise
 
 /-- A non-unital seminormed ring is a not-necessarily-unital ring
 endowed with a seminorm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class NonUnitalSeminormedRing (α : Type _) extends Norm α, NonUnitalRing α,
+class NonUnitalSeminormedRing (α : Type*) extends Norm α, NonUnitalRing α,
   PseudoMetricSpace α where
   /-- The distance is induced by the norm. -/
   dist_eq : ∀ x y, dist x y = norm (x - y)
@@ -35,7 +35,7 @@ class NonUnitalSeminormedRing (α : Type _) extends Norm α, NonUnitalRing α,
 
 /-- A seminormed ring is a ring endowed with a seminorm which satisfies the inequality
 `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class SeminormedRing (α : Type _) extends Norm α, Ring α, PseudoMetricSpace α where
+class SeminormedRing (α : Type*) extends Norm α, Ring α, PseudoMetricSpace α where
   /-- The distance is induced by the norm. -/
   dist_eq : ∀ x y, dist x y = norm (x - y)
   /-- The norm is submultiplicative. -/
@@ -51,7 +51,7 @@ instance (priority := 100) SeminormedRing.toNonUnitalSeminormedRing [β : Semino
 
 /-- A non-unital normed ring is a not-necessarily-unital ring
 endowed with a norm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class NonUnitalNormedRing (α : Type _) extends Norm α, NonUnitalRing α, MetricSpace α where
+class NonUnitalNormedRing (α : Type*) extends Norm α, NonUnitalRing α, MetricSpace α where
   /-- The distance is induced by the norm. -/
   dist_eq : ∀ x y, dist x y = norm (x - y)
   /-- The norm is submultiplicative. -/
@@ -66,7 +66,7 @@ instance (priority := 100) NonUnitalNormedRing.toNonUnitalSeminormedRing
 #align non_unital_normed_ring.to_non_unital_semi_normed_ring NonUnitalNormedRing.toNonUnitalSeminormedRing
 
 /-- A normed ring is a ring endowed with a norm which satisfies the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class NormedRing (α : Type _) extends Norm α, Ring α, MetricSpace α where
+class NormedRing (α : Type*) extends Norm α, Ring α, MetricSpace α where
   /-- The distance is induced by the norm. -/
   dist_eq : ∀ x y, dist x y = norm (x - y)
   /-- The norm is submultiplicative. -/
@@ -75,7 +75,7 @@ class NormedRing (α : Type _) extends Norm α, Ring α, MetricSpace α where
 
 /-- A normed division ring is a division ring endowed with a seminorm which satisfies the equality
 `‖x y‖ = ‖x‖ ‖y‖`. -/
-class NormedDivisionRing (α : Type _) extends Norm α, DivisionRing α, MetricSpace α where
+class NormedDivisionRing (α : Type*) extends Norm α, DivisionRing α, MetricSpace α where
   /-- The distance is induced by the norm. -/
   dist_eq : ∀ x y, dist x y = norm (x - y)
   /-- The norm is multiplicative. -/
@@ -104,14 +104,14 @@ instance (priority := 100) NormedRing.toNonUnitalNormedRing [β : NormedRing α]
 
 /-- A seminormed commutative ring is a commutative ring endowed with a seminorm which satisfies
 the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class SeminormedCommRing (α : Type _) extends SeminormedRing α where
+class SeminormedCommRing (α : Type*) extends SeminormedRing α where
   /-- Multiplication is commutative. -/
   mul_comm : ∀ x y : α, x * y = y * x
 #align semi_normed_comm_ring SeminormedCommRing
 
 /-- A normed commutative ring is a commutative ring endowed with a norm which satisfies
 the inequality `‖x y‖ ≤ ‖x‖ ‖y‖`. -/
-class NormedCommRing (α : Type _) extends NormedRing α where
+class NormedCommRing (α : Type*) extends NormedRing α where
   /-- Multiplication is commutative. -/
   mul_comm : ∀ x y : α, x * y = y * x
 #align normed_comm_ring NormedCommRing
@@ -129,7 +129,7 @@ instance PUnit.normedCommRing : NormedCommRing PUnit :=
 
 /-- A mixin class with the axiom `‖1‖ = 1`. Many `NormedRing`s and all `NormedField`s satisfy this
 axiom. -/
-class NormOneClass (α : Type _) [Norm α] [One α] : Prop where
+class NormOneClass (α : Type*) [Norm α] [One α] : Prop where
   /-- The norm of the multiplicative identity is 1. -/
   norm_one : ‖(1 : α)‖ = 1
 #align norm_one_class NormOneClass
@@ -143,7 +143,7 @@ theorem nnnorm_one [SeminormedAddCommGroup α] [One α] [NormOneClass α] : ‖(
   NNReal.eq norm_one
 #align nnnorm_one nnnorm_one
 
-theorem NormOneClass.nontrivial (α : Type _) [SeminormedAddCommGroup α] [One α] [NormOneClass α] :
+theorem NormOneClass.nontrivial (α : Type*) [SeminormedAddCommGroup α] [One α] [NormOneClass α] :
     Nontrivial α :=
   nontrivial_of_ne 0 1 <| ne_of_apply_ne norm <| by simp
 #align norm_one_class.nontrivial NormOneClass.nontrivial
@@ -174,7 +174,7 @@ instance Prod.normOneClass [SeminormedAddCommGroup α] [One α] [NormOneClass α
   ⟨by simp [Prod.norm_def]⟩
 #align prod.norm_one_class Prod.normOneClass
 
-instance Pi.normOneClass {ι : Type _} {α : ι → Type _} [Nonempty ι] [Fintype ι]
+instance Pi.normOneClass {ι : Type*} {α : ι → Type*} [Nonempty ι] [Fintype ι]
     [∀ i, SeminormedAddCommGroup (α i)] [∀ i, One (α i)] [∀ i, NormOneClass (α i)] :
     NormOneClass (∀ i, α i) :=
   ⟨by simp [Pi.norm_def]; exact Finset.sup_const Finset.univ_nonempty 1⟩
@@ -256,7 +256,7 @@ instance Prod.nonUnitalSeminormedRing [NonUnitalSeminormedRing β] :
 
 /-- Non-unital seminormed ring structure on the product of finitely many non-unital seminormed
 rings, using the sup norm. -/
-instance Pi.nonUnitalSeminormedRing {π : ι → Type _} [Fintype ι]
+instance Pi.nonUnitalSeminormedRing {π : ι → Type*} [Fintype ι]
     [∀ i, NonUnitalSeminormedRing (π i)] : NonUnitalSeminormedRing (∀ i, π i) :=
   { Pi.seminormedAddCommGroup, Pi.nonUnitalRing with
     norm_mul := fun x y =>
@@ -286,7 +286,7 @@ variable [SeminormedRing α]
 /-- A subalgebra of a seminormed ring is also a seminormed ring, with the restriction of the norm.
 
 See note [implicit instance arguments]. -/
-instance Subalgebra.seminormedRing {𝕜 : Type _} [CommRing 𝕜] {E : Type _} [SeminormedRing E]
+instance Subalgebra.seminormedRing {𝕜 : Type*} [CommRing 𝕜] {E : Type*} [SeminormedRing E]
     [Algebra 𝕜 E] (s : Subalgebra 𝕜 E) : SeminormedRing s :=
   { s.toSubmodule.seminormedAddCommGroup, s.toRing with
     norm_mul := fun a b => norm_mul_le a.1 b.1 }
@@ -295,7 +295,7 @@ instance Subalgebra.seminormedRing {𝕜 : Type _} [CommRing 𝕜] {E : Type _}
 /-- A subalgebra of a normed ring is also a normed ring, with the restriction of the norm.
 
 See note [implicit instance arguments]. -/
-instance Subalgebra.normedRing {𝕜 : Type _} [CommRing 𝕜] {E : Type _} [NormedRing E]
+instance Subalgebra.normedRing {𝕜 : Type*} [CommRing 𝕜] {E : Type*} [NormedRing E]
     [Algebra 𝕜 E] (s : Subalgebra 𝕜 E) : NormedRing s :=
   { s.seminormedRing with
     eq_of_dist_eq_zero := eq_of_dist_eq_zero }
@@ -330,25 +330,25 @@ theorem List.nnnorm_prod_le [NormOneClass α] (l : List α) : ‖l.prod‖₊ 
   l.norm_prod_le.trans_eq <| by simp [NNReal.coe_list_prod, List.map_map]
 #align list.nnnorm_prod_le List.nnnorm_prod_le
 
-theorem Finset.norm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (hs : s.Nonempty)
+theorem Finset.norm_prod_le' {α : Type*} [NormedCommRing α] (s : Finset ι) (hs : s.Nonempty)
     (f : ι → α) : ‖∏ i in s, f i‖ ≤ ∏ i in s, ‖f i‖ := by
   rcases s with ⟨⟨l⟩, hl⟩
   have : l.map f ≠ [] := by simpa using hs
   simpa using List.norm_prod_le' this
 #align finset.norm_prod_le' Finset.norm_prod_le'
 
-theorem Finset.nnnorm_prod_le' {α : Type _} [NormedCommRing α] (s : Finset ι) (hs : s.Nonempty)
+theorem Finset.nnnorm_prod_le' {α : Type*} [NormedCommRing α] (s : Finset ι) (hs : s.Nonempty)
     (f : ι → α) : ‖∏ i in s, f i‖₊ ≤ ∏ i in s, ‖f i‖₊ :=
   (s.norm_prod_le' hs f).trans_eq <| by simp [NNReal.coe_prod]
 #align finset.nnnorm_prod_le' Finset.nnnorm_prod_le'
 
-theorem Finset.norm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
+theorem Finset.norm_prod_le {α : Type*} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
     (f : ι → α) : ‖∏ i in s, f i‖ ≤ ∏ i in s, ‖f i‖ := by
   rcases s with ⟨⟨l⟩, hl⟩
   simpa using (l.map f).norm_prod_le
 #align finset.norm_prod_le Finset.norm_prod_le
 
-theorem Finset.nnnorm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
+theorem Finset.nnnorm_prod_le {α : Type*} [NormedCommRing α] [NormOneClass α] (s : Finset ι)
     (f : ι → α) : ‖∏ i in s, f i‖₊ ≤ ∏ i in s, ‖f i‖₊ :=
   (s.norm_prod_le f).trans_eq <| by simp [NNReal.coe_prod]
 #align finset.nnnorm_prod_le Finset.nnnorm_prod_le
@@ -395,7 +395,7 @@ instance Prod.seminormedRing [SeminormedRing β] : SeminormedRing (α × β) :=
 
 /-- Seminormed ring structure on the product of finitely many seminormed rings,
   using the sup norm. -/
-instance Pi.seminormedRing {π : ι → Type _} [Fintype ι] [∀ i, SeminormedRing (π i)] :
+instance Pi.seminormedRing {π : ι → Type*} [Fintype ι] [∀ i, SeminormedRing (π i)] :
     SeminormedRing (∀ i, π i) :=
   { Pi.nonUnitalSeminormedRing, Pi.ring with }
 #align pi.semi_normed_ring Pi.seminormedRing
@@ -421,7 +421,7 @@ instance Prod.nonUnitalNormedRing [NonUnitalNormedRing β] : NonUnitalNormedRing
 
 /-- Normed ring structure on the product of finitely many non-unital normed rings, using the sup
 norm. -/
-instance Pi.nonUnitalNormedRing {π : ι → Type _} [Fintype ι] [∀ i, NonUnitalNormedRing (π i)] :
+instance Pi.nonUnitalNormedRing {π : ι → Type*} [Fintype ι] [∀ i, NonUnitalNormedRing (π i)] :
     NonUnitalNormedRing (∀ i, π i) :=
   { Pi.nonUnitalSeminormedRing, Pi.normedAddCommGroup with }
 #align pi.non_unital_normed_ring Pi.nonUnitalNormedRing
@@ -453,7 +453,7 @@ instance Prod.normedRing [NormedRing β] : NormedRing (α × β) :=
 #align prod.normed_ring Prod.normedRing
 
 /-- Normed ring structure on the product of finitely many normed rings, using the sup norm. -/
-instance Pi.normedRing {π : ι → Type _} [Fintype ι] [∀ i, NormedRing (π i)] :
+instance Pi.normedRing {π : ι → Type*} [Fintype ι] [∀ i, NormedRing (π i)] :
     NormedRing (∀ i, π i) :=
   { Pi.seminormedRing, Pi.normedAddCommGroup with }
 #align pi.normed_ring Pi.normedRing
@@ -655,7 +655,7 @@ theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖
 end NormedDivisionRing
 
 /-- A normed field is a field with a norm satisfying ‖x y‖ = ‖x‖ ‖y‖. -/
-class NormedField (α : Type _) extends Norm α, Field α, MetricSpace α where
+class NormedField (α : Type*) extends Norm α, Field α, MetricSpace α where
   /-- The distance is induced by the norm. -/
   dist_eq : ∀ x y, dist x y = norm (x - y)
   /-- The norm is multiplicative. -/
@@ -665,7 +665,7 @@ class NormedField (α : Type _) extends Norm α, Field α, MetricSpace α where
 /-- A nontrivially normed field is a normed field in which there is an element of norm different
 from `0` and `1`. This makes it possible to bring any element arbitrarily close to `0` by
 multiplication by the powers of any element, and thus to relate algebra and topology. -/
-class NontriviallyNormedField (α : Type _) extends NormedField α where
+class NontriviallyNormedField (α : Type*) extends NormedField α where
   /-- The norm attains a value exceeding 1. -/
   non_trivial : ∃ x : α, 1 < ‖x‖
 #align nontrivially_normed_field NontriviallyNormedField
@@ -673,7 +673,7 @@ class NontriviallyNormedField (α : Type _) extends NormedField α where
 /-- A densely normed field is a normed field for which the image of the norm is dense in `ℝ≥0`,
 which means it is also nontrivially normed. However, not all nontrivally normed fields are densely
 normed; in particular, the `Padic`s exhibit this fact. -/
-class DenselyNormedField (α : Type _) extends NormedField α where
+class DenselyNormedField (α : Type*) extends NormedField α where
   /-- The range of the norm is dense in the collection of nonnegative real numbers. -/
   lt_norm_lt : ∀ x y : ℝ, 0 ≤ x → x < y → ∃ a : α, x < ‖a‖ ∧ ‖a‖ < y
 #align densely_normed_field DenselyNormedField
@@ -844,7 +844,7 @@ theorem nnnorm_norm [SeminormedAddCommGroup α] (a : α) : ‖‖a‖‖₊ = 
 #align nnnorm_norm nnnorm_norm
 
 /-- A restatement of `MetricSpace.tendsto_atTop` in terms of the norm. -/
-theorem NormedAddCommGroup.tendsto_atTop [Nonempty α] [SemilatticeSup α] {β : Type _}
+theorem NormedAddCommGroup.tendsto_atTop [Nonempty α] [SemilatticeSup α] {β : Type*}
     [SeminormedAddCommGroup β] {f : α → β} {b : β} :
     Tendsto f atTop (𝓝 b) ↔ ∀ ε, 0 < ε → ∃ N, ∀ n, N ≤ n → ‖f n - b‖ < ε :=
   (atTop_basis.tendsto_iff Metric.nhds_basis_ball).trans (by simp [dist_eq_norm])
@@ -854,7 +854,7 @@ theorem NormedAddCommGroup.tendsto_atTop [Nonempty α] [SemilatticeSup α] {β :
 uses `∃ N, ∀ n > N, ...` rather than `∃ N, ∀ n ≥ N, ...`
 -/
 theorem NormedAddCommGroup.tendsto_atTop' [Nonempty α] [SemilatticeSup α] [NoMaxOrder α]
-    {β : Type _} [SeminormedAddCommGroup β] {f : α → β} {b : β} :
+    {β : Type*} [SeminormedAddCommGroup β] {f : α → β} {b : β} :
     Tendsto f atTop (𝓝 b) ↔ ∀ ε, 0 < ε → ∃ N, ∀ n, N < n → ‖f n - b‖ < ε :=
   (atTop_basis_Ioi.tendsto_iff Metric.nhds_basis_ball).trans (by simp [dist_eq_norm])
 #align normed_add_comm_group.tendsto_at_top' NormedAddCommGroup.tendsto_atTop'
@@ -877,7 +877,7 @@ instance Rat.denselyNormedField : DenselyNormedField ℚ where
     ⟨q, by rwa [←Rat.norm_cast_real, Real.norm_eq_abs, abs_of_pos (h₀.trans_lt h.1)]⟩
 section RingHomIsometric
 
-variable {R₁ : Type _} {R₂ : Type _} {R₃ : Type _}
+variable {R₁ : Type*} {R₂ : Type*} {R₃ : Type*}
 
 /-- This class states that a ring homomorphism is isometric. This is a sufficient assumption
 for a continuous semilinear map to be bounded and this is the main use for this typeclass. -/
@@ -901,7 +901,7 @@ end RingHomIsometric
 
 section Induced
 
-variable {F : Type _} (R S : Type _)
+variable {F : Type*} (R S : Type*)
 
 /-- A non-unital ring homomorphism from a `NonUnitalRing` to a `NonUnitalSeminormedRing`
 induces a `NonUnitalSeminormedRing` structure on the domain.
@@ -992,7 +992,7 @@ def NormedField.induced [Field R] [NormedField S] [NonUnitalRingHomClass F R S]
 
 /-- A ring homomorphism from a `Ring R` to a `SeminormedRing S` which induces the norm structure
 `SeminormedRing.induced` makes `R` satisfy `‖(1 : R)‖ = 1` whenever `‖(1 : S)‖ = 1`. -/
-theorem NormOneClass.induced {F : Type _} (R S : Type _) [Ring R] [SeminormedRing S]
+theorem NormOneClass.induced {F : Type*} (R S : Type*) [Ring R] [SeminormedRing S]
     [NormOneClass S] [RingHomClass F R S] (f : F) :
     @NormOneClass R (SeminormedRing.induced R S f).toNorm _ :=
   -- porting note: is this `let` a bad idea somehow?
@@ -1004,7 +1004,7 @@ end Induced
 
 namespace SubringClass
 
-variable {S R : Type _} [SetLike S R]
+variable {S R : Type*} [SetLike S R]
 
 instance toSeminormedRing [SeminormedRing R] [SubringClass S R] (s : S) : SeminormedRing s :=
   SeminormedRing.induced s R (SubringClass.subtype s)
chore: tidy various files (#5999)
Diff
@@ -239,7 +239,7 @@ instance ULift.nonUnitalSeminormedRing : NonUnitalSeminormedRing (ULift α) :=
   using the sup norm. -/
 instance Prod.nonUnitalSeminormedRing [NonUnitalSeminormedRing β] :
     NonUnitalSeminormedRing (α × β) :=
-  { Prod.seminormedAddCommGroup, instNonUnitalRingProd with
+  { seminormedAddCommGroup, instNonUnitalRing with
     norm_mul := fun x y =>
       calc
         ‖x * y‖ = ‖(x.1 * y.1, x.2 * y.2)‖ := rfl
@@ -390,7 +390,7 @@ instance ULift.seminormedRing : SeminormedRing (ULift α) :=
 /-- Seminormed ring structure on the product of two seminormed rings,
   using the sup norm. -/
 instance Prod.seminormedRing [SeminormedRing β] : SeminormedRing (α × β) :=
-  { Prod.nonUnitalSeminormedRing, instRingProd with }
+  { nonUnitalSeminormedRing, instRing with }
 #align prod.semi_normed_ring Prod.seminormedRing
 
 /-- Seminormed ring structure on the product of finitely many seminormed rings,
@@ -449,7 +449,7 @@ instance ULift.normedRing : NormedRing (ULift α) :=
 
 /-- Normed ring structure on the product of two normed rings, using the sup norm. -/
 instance Prod.normedRing [NormedRing β] : NormedRing (α × β) :=
-  { Prod.nonUnitalNormedRing, instRingProd with }
+  { nonUnitalNormedRing, instRing with }
 #align prod.normed_ring Prod.normedRing
 
 /-- Normed ring structure on the product of finitely many normed rings, using the sup norm. -/
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) 2018 Patrick Massot. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot, Johannes Hölzl
-
-! This file was ported from Lean 3 source module analysis.normed.field.basic
-! leanprover-community/mathlib commit f06058e64b7e8397234455038f3f8aec83aaba5a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Algebra.Subalgebra.Basic
 import Mathlib.Analysis.Normed.Group.Basic
 import Mathlib.Topology.Instances.ENNReal
 
+#align_import analysis.normed.field.basic from "leanprover-community/mathlib"@"f06058e64b7e8397234455038f3f8aec83aaba5a"
+
 /-!
 # Normed fields
 
chore: fix grammar 1/3 (#5001)

All of these are doc fixes

Diff
@@ -906,7 +906,7 @@ section Induced
 
 variable {F : Type _} (R S : Type _)
 
-/-- A non-unital ring homomorphism from an `NonUnitalRing` to a `NonUnitalSeminormedRing`
+/-- A non-unital ring homomorphism from a `NonUnitalRing` to a `NonUnitalSeminormedRing`
 induces a `NonUnitalSeminormedRing` structure on the domain.
 
 See note [reducible non-instances] -/
@@ -919,7 +919,7 @@ def NonUnitalSeminormedRing.induced [NonUnitalRing R] [NonUnitalSeminormedRing S
       exact (map_mul f x y).symm ▸ norm_mul_le (f x) (f y) }
 #align non_unital_semi_normed_ring.induced NonUnitalSeminormedRing.induced
 
-/-- An injective non-unital ring homomorphism from an `NonUnitalRing` to a
+/-- An injective non-unital ring homomorphism from a `NonUnitalRing` to a
 `NonUnitalNormedRing` induces a `NonUnitalNormedRing` structure on the domain.
 
 See note [reducible non-instances] -/
@@ -929,7 +929,7 @@ def NonUnitalNormedRing.induced [NonUnitalRing R] [NonUnitalNormedRing S]
   { NonUnitalSeminormedRing.induced R S f, NormedAddCommGroup.induced R S f hf with }
 #align non_unital_normed_ring.induced NonUnitalNormedRing.induced
 
-/-- A non-unital ring homomorphism from an `Ring` to a `SeminormedRing` induces a
+/-- A non-unital ring homomorphism from a `Ring` to a `SeminormedRing` induces a
 `SeminormedRing` structure on the domain.
 
 See note [reducible non-instances] -/
@@ -939,7 +939,7 @@ def SeminormedRing.induced [Ring R] [SeminormedRing S] [NonUnitalRingHomClass F
   { NonUnitalSeminormedRing.induced R S f, SeminormedAddCommGroup.induced R S f, ‹Ring R› with }
 #align semi_normed_ring.induced SeminormedRing.induced
 
-/-- An injective non-unital ring homomorphism from an `Ring` to a `NormedRing` induces a
+/-- An injective non-unital ring homomorphism from a `Ring` to a `NormedRing` induces a
 `NormedRing` structure on the domain.
 
 See note [reducible non-instances] -/
@@ -959,7 +959,7 @@ def SeminormedCommRing.induced [CommRing R] [SeminormedRing S] [NonUnitalRingHom
   { NonUnitalSeminormedRing.induced R S f, SeminormedAddCommGroup.induced R S f, ‹CommRing R› with }
 #align semi_normed_comm_ring.induced SeminormedCommRing.induced
 
-/-- An injective non-unital ring homomorphism from an `CommRing` to a `NormedRing` induces a
+/-- An injective non-unital ring homomorphism from a `CommRing` to a `NormedRing` induces a
 `NormedCommRing` structure on the domain.
 
 See note [reducible non-instances] -/
@@ -969,7 +969,7 @@ def NormedCommRing.induced [CommRing R] [NormedRing S] [NonUnitalRingHomClass F
   { SeminormedCommRing.induced R S f, NormedAddCommGroup.induced R S f hf with }
 #align normed_comm_ring.induced NormedCommRing.induced
 
-/-- An injective non-unital ring homomorphism from an `DivisionRing` to a `NormedRing` induces a
+/-- An injective non-unital ring homomorphism from a `DivisionRing` to a `NormedRing` induces a
 `NormedDivisionRing` structure on the domain.
 
 See note [reducible non-instances] -/
@@ -982,7 +982,7 @@ def NormedDivisionRing.induced [DivisionRing R] [NormedDivisionRing S] [NonUnita
       exact (map_mul f x y).symm ▸ norm_mul (f x) (f y) }
 #align normed_division_ring.induced NormedDivisionRing.induced
 
-/-- An injective non-unital ring homomorphism from an `Field` to a `NormedRing` induces a
+/-- An injective non-unital ring homomorphism from a `Field` to a `NormedRing` induces a
 `NormedField` structure on the domain.
 
 See note [reducible non-instances] -/
chore: add space after exacts (#4945)

Too often tempted to change these during other PRs, so doing a mass edit here.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -648,7 +648,7 @@ instance (priority := 100) NormedDivisionRing.to_topologicalDivisionRing : Topol
 theorem norm_map_one_of_pow_eq_one [Monoid β] (φ : β →* α) {x : β} {k : ℕ+} (h : x ^ (k : ℕ) = 1) :
     ‖φ x‖ = 1 := by
   rw [← pow_left_inj, ← norm_pow, ← map_pow, h, map_one, norm_one, one_pow]
-  exacts[norm_nonneg _, zero_le_one, k.pos]
+  exacts [norm_nonneg _, zero_le_one, k.pos]
 #align norm_map_one_of_pow_eq_one norm_map_one_of_pow_eq_one
 
 theorem norm_one_of_pow_eq_one {x : α} {k : ℕ+} (h : x ^ (k : ℕ) = 1) : ‖x‖ = 1 :=
feat: golf using gcongr throughout the library (#4702)

100 sample uses of the new tactic gcongr, added in #3965.

Diff
@@ -633,9 +633,7 @@ instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContin
           mul_assoc _ e, inv_mul_cancel r0, mul_inv_cancel e0, one_mul, mul_one]
       -- porting note: `ENNReal.{mul_sub, sub_mul}` should be `protected`
       _ = ‖r - e‖ / ‖r‖ / ‖e‖ := by field_simp [mul_comm]
-      _ ≤ ‖r - e‖ / ‖r‖ / ε :=
-        div_le_div_of_le_left (div_nonneg (norm_nonneg _) (norm_nonneg _)) ε0 he.le
-
+      _ ≤ ‖r - e‖ / ‖r‖ / ε := by gcongr
   refine' squeeze_zero' (eventually_of_forall fun _ => norm_nonneg _) this _
   refine' (((continuous_const.sub continuous_id).norm.div_const _).div_const _).tendsto' _ _ _
   simp
chore: fix upper/lowercase in comments (#4360)
  • Run a non-interactive version of fix-comments.py on all files.
  • Go through the diff and manually add/discard/edit chunks.
Diff
@@ -677,7 +677,7 @@ class NontriviallyNormedField (α : Type _) extends NormedField α where
 
 /-- A densely normed field is a normed field for which the image of the norm is dense in `ℝ≥0`,
 which means it is also nontrivially normed. However, not all nontrivally normed fields are densely
-normed; in particular, the `padic`s exhibit this fact. -/
+normed; in particular, the `Padic`s exhibit this fact. -/
 class DenselyNormedField (α : Type _) extends NormedField α where
   /-- The range of the norm is dense in the collection of nonnegative real numbers. -/
   lt_norm_lt : ∀ x y : ℝ, 0 ≤ x → x < y → ∃ a : α, x < ‖a‖ ∧ ‖a‖ < y
feat: assert_not_exists (#4245)
Diff
@@ -1030,8 +1030,5 @@ instance toNormedCommRing [NormedCommRing R] [SubringClass S R] (s : S) : Normed
 
 end SubringClass
 
--- porting note: add this back in once `assert_not_exists` is ported
-/-
 -- Guard again import creep.
 assert_not_exists RestrictScalars
--/
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

Now that leanprover/lean4#2210 has been merged, this PR:

  • removes all the set_option synthInstance.etaExperiment true commands (and some etaExperiment% term elaborators)
  • removes many but not quite all set_option maxHeartbeats commands
  • makes various other changes required to cope with leanprover/lean4#2210.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>

Diff
@@ -286,7 +286,6 @@ section SeminormedRing
 
 variable [SeminormedRing α]
 
-set_option synthInstance.etaExperiment true in
 /-- A subalgebra of a seminormed ring is also a seminormed ring, with the restriction of the norm.
 
 See note [implicit instance arguments]. -/
@@ -996,7 +995,6 @@ def NormedField.induced [Field R] [NormedField S] [NonUnitalRingHomClass F R S]
     mul_comm := mul_comm }
 #align normed_field.induced NormedField.induced
 
-set_option synthInstance.etaExperiment true in
 /-- A ring homomorphism from a `Ring R` to a `SeminormedRing S` which induces the norm structure
 `SeminormedRing.induced` makes `R` satisfy `‖(1 : R)‖ = 1` whenever `‖(1 : S)‖ = 1`. -/
 theorem NormOneClass.induced {F : Type _} (R S : Type _) [Ring R] [SeminormedRing S]
@@ -1013,12 +1011,10 @@ namespace SubringClass
 
 variable {S R : Type _} [SetLike S R]
 
-set_option synthInstance.etaExperiment true in
 instance toSeminormedRing [SeminormedRing R] [SubringClass S R] (s : S) : SeminormedRing s :=
   SeminormedRing.induced s R (SubringClass.subtype s)
 #align subring_class.to_semi_normed_ring SubringClass.toSeminormedRing
 
-set_option synthInstance.etaExperiment true in
 instance toNormedRing [NormedRing R] [SubringClass S R] (s : S) : NormedRing s :=
   NormedRing.induced s R (SubringClass.subtype s) Subtype.val_injective
 #align subring_class.to_normed_ring SubringClass.toNormedRing
chore: deal with a few convert porting notes (#3887)
Diff
@@ -483,26 +483,15 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing
             _ ≤ ‖e.1‖ * ‖e.2 - x.2‖ + ‖e.1 - x.1‖ * ‖x.2‖ :=
               norm_add_le_of_le (norm_mul_le _ _) (norm_mul_le _ _)
         refine squeeze_zero (fun e => norm_nonneg _) this ?_
-        -- porting note: the new `convert` sucks, it's way too dumb without using the type
-        -- of the goal to figure out how to match things up. The rest of this proof was:
-        /- convert
+        convert
           ((continuous_fst.tendsto x).norm.mul
                 ((continuous_snd.tendsto x).sub tendsto_const_nhds).norm).add
             (((continuous_fst.tendsto x).sub tendsto_const_nhds).norm.mul _)
-        show tendsto _ _ _
+        -- Porting note: `show` used to select a goal to work on
+        rotate_right
+        show Tendsto _ _ _
         exact tendsto_const_nhds
-        simp -/
-        rw [←zero_add 0]
-        refine Tendsto.add ?_ ?_
-        · rw [←mul_zero (‖x.fst‖)]
-          refine Filter.Tendsto.mul ?_ ?_
-          · exact (continuous_fst.tendsto x).norm
-          · rw [←norm_zero (E := α), ←sub_self x.snd]
-            exact ((continuous_snd.tendsto x).sub tendsto_const_nhds).norm
-        · rw [←zero_mul (‖x.snd‖)]
-          refine' Filter.Tendsto.mul _ tendsto_const_nhds
-          rw [←norm_zero (E := α), ←sub_self x.fst]
-          exact ((continuous_fst.tendsto x).sub tendsto_const_nhds).norm⟩
+        simp⟩
 #align semi_normed_ring_top_monoid semi_normed_ring_top_monoid
 
 -- see Note [lower instance priority]
chore(*): tweak priorities for linear algebra (#3840)

We make sure that the canonical path from NonAssocSemiring to Ring passes through Semiring, as this is a path which is followed all the time in linear algebra where the defining semilinear map σ : R →+* S depends on the NonAssocSemiring structure of R and S while the module definition depends on the Semiring structure.

Tt is not currently possible to adjust priorities by hand (see lean4#2115). Instead, the last declared instance is used, so we make sure that Semiring is declared after NonAssocRing, so that Semiring -> NonAssocSemiring is tried before NonAssocRing -> NonAssocSemiring.

Diff
@@ -1007,6 +1007,7 @@ def NormedField.induced [Field R] [NormedField S] [NonUnitalRingHomClass F R S]
     mul_comm := mul_comm }
 #align normed_field.induced NormedField.induced
 
+set_option synthInstance.etaExperiment true in
 /-- A ring homomorphism from a `Ring R` to a `SeminormedRing S` which induces the norm structure
 `SeminormedRing.induced` makes `R` satisfy `‖(1 : R)‖ = 1` whenever `‖(1 : S)‖ = 1`. -/
 theorem NormOneClass.induced {F : Type _} (R S : Type _) [Ring R] [SeminormedRing S]
@@ -1023,10 +1024,12 @@ namespace SubringClass
 
 variable {S R : Type _} [SetLike S R]
 
+set_option synthInstance.etaExperiment true in
 instance toSeminormedRing [SeminormedRing R] [SubringClass S R] (s : S) : SeminormedRing s :=
   SeminormedRing.induced s R (SubringClass.subtype s)
 #align subring_class.to_semi_normed_ring SubringClass.toSeminormedRing
 
+set_option synthInstance.etaExperiment true in
 instance toNormedRing [NormedRing R] [SubringClass S R] (s : S) : NormedRing s :=
   NormedRing.induced s R (SubringClass.subtype s) Subtype.val_injective
 #align subring_class.to_normed_ring SubringClass.toNormedRing
chore: bye-bye, solo bys! (#3825)

This PR puts, with one exception, every single remaining by that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh. The exception is when the by begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.

Essentially this is s/\n *by$/ by/g, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated bys".

Diff
@@ -473,8 +473,8 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing
     ContinuousMul α :=
   ⟨continuous_iff_continuousAt.2 fun x =>
       tendsto_iff_norm_tendsto_zero.2 <| by
-        have : ∀ e : α × α, ‖e.1 * e.2 - x.1 * x.2‖ ≤ ‖e.1‖ * ‖e.2 - x.2‖ + ‖e.1 - x.1‖ * ‖x.2‖ :=
-          by
+        have : ∀ e : α × α,
+            ‖e.1 * e.2 - x.1 * x.2‖ ≤ ‖e.1‖ * ‖e.2 - x.2‖ + ‖e.1 - x.1‖ * ‖x.2‖ := by
           intro e
           calc
             ‖e.1 * e.2 - x.1 * x.2‖ ≤ ‖e.1 * (e.2 - x.2) + (e.1 - x.1) * x.2‖ := by
@@ -603,8 +603,8 @@ theorem nnnorm_zpow : ∀ (a : α) (n : ℤ), ‖a ^ n‖₊ = ‖a‖₊ ^ n :=
   map_zpow₀ (nnnormHom : α →*₀ ℝ≥0)
 #align nnnorm_zpow nnnorm_zpow
 
-theorem dist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) : dist z⁻¹ w⁻¹ = dist z w / (‖z‖ * ‖w‖) :=
-  by
+theorem dist_inv_inv₀ {z w : α} (hz : z ≠ 0) (hw : w ≠ 0) :
+    dist z⁻¹ w⁻¹ = dist z w / (‖z‖ * ‖w‖) := by
   rw [dist_eq_norm, inv_sub_inv' hz hw, norm_mul, norm_mul, norm_inv, norm_inv, mul_comm ‖z‖⁻¹,
     mul_assoc, dist_eq_norm', div_eq_mul_inv, mul_inv]
 #align dist_inv_inv₀ dist_inv_inv₀
@@ -636,8 +636,7 @@ instance (priority := 100) NormedDivisionRing.to_hasContinuousInv₀ : HasContin
   refine' ⟨fun r r0 => tendsto_iff_norm_tendsto_zero.2 _⟩
   have r0' : 0 < ‖r‖ := norm_pos_iff.2 r0
   rcases exists_between r0' with ⟨ε, ε0, εr⟩
-  have : ∀ᶠ e in 𝓝 r, ‖e⁻¹ - r⁻¹‖ ≤ ‖r - e‖ / ‖r‖ / ε :=
-    by
+  have : ∀ᶠ e in 𝓝 r, ‖e⁻¹ - r⁻¹‖ ≤ ‖r - e‖ / ‖r‖ / ε := by
     filter_upwards [(isOpen_lt continuous_const continuous_norm).eventually_mem εr]with e he
     have e0 : e ≠ 0 := norm_pos_iff.1 (ε0.trans he)
     calc
chore: bump to nightly-2023-04-11 (#3139)
Diff
@@ -286,11 +286,12 @@ section SeminormedRing
 
 variable [SeminormedRing α]
 
+set_option synthInstance.etaExperiment true in
 /-- A subalgebra of a seminormed ring is also a seminormed ring, with the restriction of the norm.
 
 See note [implicit instance arguments]. -/
-instance Subalgebra.seminormedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type _} [SeminormedRing E]
-    {_ : Algebra 𝕜 E} (s : Subalgebra 𝕜 E) : SeminormedRing s :=
+instance Subalgebra.seminormedRing {𝕜 : Type _} [CommRing 𝕜] {E : Type _} [SeminormedRing E]
+    [Algebra 𝕜 E] (s : Subalgebra 𝕜 E) : SeminormedRing s :=
   { s.toSubmodule.seminormedAddCommGroup, s.toRing with
     norm_mul := fun a b => norm_mul_le a.1 b.1 }
 #align subalgebra.semi_normed_ring Subalgebra.seminormedRing
@@ -298,8 +299,8 @@ instance Subalgebra.seminormedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type
 /-- A subalgebra of a normed ring is also a normed ring, with the restriction of the norm.
 
 See note [implicit instance arguments]. -/
-instance Subalgebra.normedRing {𝕜 : Type _} {_ : CommRing 𝕜} {E : Type _} [NormedRing E]
-    {_ : Algebra 𝕜 E} (s : Subalgebra 𝕜 E) : NormedRing s :=
+instance Subalgebra.normedRing {𝕜 : Type _} [CommRing 𝕜] {E : Type _} [NormedRing E]
+    [Algebra 𝕜 E] (s : Subalgebra 𝕜 E) : NormedRing s :=
   { s.seminormedRing with
     eq_of_dist_eq_zero := eq_of_dist_eq_zero }
 #align subalgebra.normed_ring Subalgebra.normedRing
chore: add explicit instance names for MulOpposite (#3032)

Using explicit names makes it easier to refer to instances from docstrings and Zulip.

This probably isn't exhaustive, but does most of the algebra hierarchy.

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

Diff
@@ -274,7 +274,7 @@ instance Pi.nonUnitalSeminormedRing {π : ι → Type _} [Fintype ι]
 #align pi.non_unital_semi_normed_ring Pi.nonUnitalSeminormedRing
 
 instance MulOpposite.nonUnitalSeminormedRing : NonUnitalSeminormedRing αᵐᵒᵖ :=
-  { MulOpposite.seminormedAddCommGroup, MulOpposite.instNonUnitalRingMulOpposite α with
+  { MulOpposite.seminormedAddCommGroup, MulOpposite.nonUnitalRing α with
     norm_mul :=
       MulOpposite.rec' fun x =>
         MulOpposite.rec' fun y => (norm_mul_le y x).trans_eq (mul_comm _ _) }
@@ -404,7 +404,7 @@ instance Pi.seminormedRing {π : ι → Type _} [Fintype ι] [∀ i, SeminormedR
 #align pi.semi_normed_ring Pi.seminormedRing
 
 instance MulOpposite.seminormedRing : SeminormedRing αᵐᵒᵖ :=
-  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.instRingMulOpposite α with }
+  { MulOpposite.nonUnitalSeminormedRing, MulOpposite.ring α with }
 #align mul_opposite.semi_normed_ring MulOpposite.seminormedRing
 
 end SeminormedRing
feat: improvements to congr! and convert (#2606)
  • There is now configuration for congr!, convert, and convert_to to control parts of the congruence algorithm, in particular transparency settings when applying congruence lemmas.
  • congr! now applies congruence lemmas with reducible transparency by default. This prevents it from unfolding definitions when applying congruence lemmas. It also now tries both the LHS-biased and RHS-biased simp congruence lemmas, with a configuration option to set which it should try first.
  • There is now a new HEq congruence lemma generator that gives each hypothesis access to the proofs of previous hypotheses. This means that if you have an equality ⊢ ⟨a, x⟩ = ⟨b, y⟩ of sigma types, congr! turns this into goals ⊢ a = b and ⊢ a = b → HEq x y (note that congr! will also auto-introduce a = b for you in the second goal). This congruence lemma generator applies to more cases than the simp congruence lemma generator does.
  • congr! (and hence convert) are more careful about applying lemmas that don't force definitions to unfold. There were a number of cases in mathlib where the implementation of congr was being abused to unfold definitions.
  • With set_option trace.congr! true you can see what congr! sees when it is deciding on congruence lemmas.
  • There is also a bug fix in convert_to to do using 1 when there is no using clause, to match its documentation.

Note that congr! is more capable than congr at finding a way to equate left-hand sides and right-hand sides, so you will frequently need to limit its depth with a using clause. However, there is also a new heuristic to prevent considering unlikely-to-be-provable type equalities (controlled by the typeEqs option), which can help limit the depth automatically.

There is also a predefined configuration that you can invoke with, for example, convert (config := .unfoldSameFun) h, that causes it to behave more like congr, including using default transparency when unfolding.

Diff
@@ -231,7 +231,7 @@ theorem mulLeft_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulLeft x y‖ ≤
 /-- In a seminormed ring, the right-multiplication `AddMonoidHom` is bounded. -/
 theorem mulRight_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulRight x y‖ ≤ ‖x‖ * ‖y‖ := fun y => by
   rw [mul_comm]
-  convert norm_mul_le y x
+  exact norm_mul_le y x
 #align mul_right_bound mulRight_bound
 
 instance ULift.nonUnitalSeminormedRing : NonUnitalSeminormedRing (ULift α) :=
fix: minor changes to Analysis.Normed.Field.Basic from code review (#2847)
Diff
@@ -126,7 +126,7 @@ instance (priority := 100) NormedCommRing.toSeminormedCommRing [β : NormedCommR
   { β with }
 #align normed_comm_ring.to_semi_normed_comm_ring NormedCommRing.toSeminormedCommRing
 
-instance PUint.normedCommRing : NormedCommRing PUnit :=
+instance PUnit.normedCommRing : NormedCommRing PUnit :=
   { PUnit.normedAddCommGroup, PUnit.commRing with
     norm_mul := fun _ _ => by simp }
 
@@ -216,12 +216,12 @@ theorem Filter.Tendsto.zero_mul_isBoundedUnder_le {f g : ι → α} {l : Filter
   hf.op_zero_isBoundedUnder_le hg (· * ·) norm_mul_le
 #align filter.tendsto.zero_mul_is_bounded_under_le Filter.Tendsto.zero_mul_isBoundedUnder_le
 
-theorem Filter.IsBoundedUnder_le.mul_tendsto_zero {f g : ι → α} {l : Filter ι}
+theorem Filter.isBoundedUnder_le_mul_tendsto_zero {f g : ι → α} {l : Filter ι}
     (hf : IsBoundedUnder (· ≤ ·) l (norm ∘ f)) (hg : Tendsto g l (𝓝 0)) :
     Tendsto (fun x => f x * g x) l (𝓝 0) :=
   hg.op_zero_isBoundedUnder_le hf (flip (· * ·)) fun x y =>
     (norm_mul_le y x).trans_eq (mul_comm _ _)
-#align filter.is_bounded_under_le.mul_tendsto_zero Filter.IsBoundedUnder_le.mul_tendsto_zero
+#align filter.is_bounded_under_le.mul_tendsto_zero Filter.isBoundedUnder_le_mul_tendsto_zero
 
 /-- In a seminormed ring, the left-multiplication `AddMonoidHom` is bounded. -/
 theorem mulLeft_bound (x : α) : ∀ y : α, ‖AddMonoidHom.mulLeft x y‖ ≤ ‖x‖ * ‖y‖ :=
@@ -359,7 +359,7 @@ theorem Finset.nnnorm_prod_le {α : Type _} [NormedCommRing α] [NormOneClass α
 /-- If `α` is a seminormed ring, then `‖a ^ n‖₊ ≤ ‖a‖₊ ^ n` for `n > 0`.
 See also `nnnorm_pow_le`. -/
 theorem nnnorm_pow_le' (a : α) : ∀ {n : ℕ}, 0 < n → ‖a ^ n‖₊ ≤ ‖a‖₊ ^ n
-  | 1, _ => by simp only [pow_one]; rfl
+  | 1, _ => by simp only [pow_one, le_rfl]
   | n + 2, _ => by
     simpa only [pow_succ _ (n + 1)] using
       le_trans (nnnorm_mul_le _ _) (mul_le_mul_left' (nnnorm_pow_le' a n.succ_pos) _)
@@ -481,7 +481,7 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing
             -- porting note: `ENNReal.{mul_sub, sub_mul}` should be protected
             _ ≤ ‖e.1‖ * ‖e.2 - x.2‖ + ‖e.1 - x.1‖ * ‖x.2‖ :=
               norm_add_le_of_le (norm_mul_le _ _) (norm_mul_le _ _)
-        refine' squeeze_zero (fun e => norm_nonneg _) this _
+        refine squeeze_zero (fun e => norm_nonneg _) this ?_
         -- porting note: the new `convert` sucks, it's way too dumb without using the type
         -- of the goal to figure out how to match things up. The rest of this proof was:
         /- convert
@@ -492,16 +492,16 @@ instance (priority := 100) semi_normed_ring_top_monoid [NonUnitalSeminormedRing
         exact tendsto_const_nhds
         simp -/
         rw [←zero_add 0]
-        refine' Tendsto.add _ _
-        rw [←mul_zero (‖x.fst‖)]
-        refine' Filter.Tendsto.mul _ _
-        exact (continuous_fst.tendsto x).norm
-        rw [←norm_zero (E := α), ←sub_self x.snd]
-        exact ((continuous_snd.tendsto x).sub tendsto_const_nhds).norm
-        rw [←zero_mul (‖x.snd‖)]
-        refine' Filter.Tendsto.mul _ tendsto_const_nhds
-        rw [←norm_zero (E := α), ←sub_self x.fst]
-        exact ((continuous_fst.tendsto x).sub tendsto_const_nhds).norm⟩
+        refine Tendsto.add ?_ ?_
+        · rw [←mul_zero (‖x.fst‖)]
+          refine Filter.Tendsto.mul ?_ ?_
+          · exact (continuous_fst.tendsto x).norm
+          · rw [←norm_zero (E := α), ←sub_self x.snd]
+            exact ((continuous_snd.tendsto x).sub tendsto_const_nhds).norm
+        · rw [←zero_mul (‖x.snd‖)]
+          refine' Filter.Tendsto.mul _ tendsto_const_nhds
+          rw [←norm_zero (E := α), ←sub_self x.fst]
+          exact ((continuous_fst.tendsto x).sub tendsto_const_nhds).norm⟩
 #align semi_normed_ring_top_monoid semi_normed_ring_top_monoid
 
 -- see Note [lower instance priority]
@@ -700,8 +700,8 @@ section NormedField
 /-- A densely normed field is always a nontrivially normed field.
 See note [lower instance priority]. -/
 instance (priority := 100) DenselyNormedField.toNontriviallyNormedField [DenselyNormedField α] :
-    NontriviallyNormedField α
-    where non_trivial :=
+    NontriviallyNormedField α where
+  non_trivial :=
     let ⟨a, h, _⟩ := DenselyNormedField.lt_norm_lt 1 2 zero_le_one one_lt_two
     ⟨a, h⟩
 #align densely_normed_field.to_nontrivially_normed_field DenselyNormedField.toNontriviallyNormedField
@@ -788,15 +788,15 @@ theorem exists_lt_nnnorm_lt {r₁ r₂ : ℝ≥0} (h : r₁ < r₂) : ∃ x : α
 instance denselyOrdered_range_norm : DenselyOrdered (Set.range (norm : α → ℝ)) where
   dense := by
     rintro ⟨-, x, rfl⟩ ⟨-, y, rfl⟩ hxy
-    exact let ⟨z, h⟩ := exists_lt_norm_lt α (norm_nonneg _) hxy
-      ⟨⟨‖z‖, z, rfl⟩, h⟩
+    let ⟨z, h⟩ := exists_lt_norm_lt α (norm_nonneg _) hxy
+    exact ⟨⟨‖z‖, z, rfl⟩, h⟩
 #align normed_field.densely_ordered_range_norm NormedField.denselyOrdered_range_norm
 
 instance denselyOrdered_range_nnnorm : DenselyOrdered (Set.range (nnnorm : α → ℝ≥0)) where
   dense := by
     rintro ⟨-, x, rfl⟩ ⟨-, y, rfl⟩ hxy
-    exact let ⟨z, h⟩ := exists_lt_nnnorm_lt α hxy
-      ⟨⟨‖z‖₊, z, rfl⟩, h⟩
+    let ⟨z, h⟩ := exists_lt_nnnorm_lt α hxy
+    exact ⟨⟨‖z‖₊, z, rfl⟩, h⟩
 #align normed_field.densely_ordered_range_nnnorm NormedField.denselyOrdered_range_nnnorm
 
 theorem denseRange_nnnorm : DenseRange (nnnorm : α → ℝ≥0) :=
@@ -816,8 +816,8 @@ noncomputable instance Real.normedField : NormedField ℝ :=
   { Real.normedAddCommGroup, Real.field with
     norm_mul' := abs_mul }
 
-noncomputable instance Real.denselyNormedField : DenselyNormedField ℝ
-    where lt_norm_lt _ _ h₀ hr :=
+noncomputable instance Real.denselyNormedField : DenselyNormedField ℝ where
+  lt_norm_lt _ _ h₀ hr :=
     let ⟨x, h⟩ := exists_between hr
     ⟨x, by rwa [Real.norm_eq_abs, abs_of_nonneg (h₀.trans h.1.le)]⟩
 
@@ -825,9 +825,8 @@ namespace Real
 
 theorem toNNReal_mul_nnnorm {x : ℝ} (y : ℝ) (hx : 0 ≤ x) : x.toNNReal * ‖y‖₊ = ‖x * y‖₊ := by
   ext
-  simp only [NNReal.coe_mul, nnnorm_mul, coe_nnnorm]
-  rw [Real.toNNReal_of_nonneg hx, norm_of_nonneg hx]
-  rfl
+  simp only [NNReal.coe_mul, nnnorm_mul, coe_nnnorm, Real.toNNReal_of_nonneg, norm_of_nonneg, hx,
+    coe_mk]
 #align real.to_nnreal_mul_nnnorm Real.toNNReal_mul_nnnorm
 
 theorem nnnorm_mul_toNNReal (x : ℝ) {y : ℝ} (hy : 0 ≤ y) : ‖x‖₊ * y.toNNReal = ‖x * y‖₊ := by
@@ -892,9 +891,7 @@ instance Rat.normedField : NormedField ℚ :=
 instance Rat.denselyNormedField : DenselyNormedField ℚ where
   lt_norm_lt r₁ r₂ h₀ hr :=
     let ⟨q, h⟩ := exists_rat_btwn hr
-    ⟨q, by
-      show _ < |(q : ℝ)| ∧ |(q : ℝ)| < _
-      rwa [abs_of_pos (h₀.trans_lt h.1)]⟩
+    ⟨q, by rwa [←Rat.norm_cast_real, Real.norm_eq_abs, abs_of_pos (h₀.trans_lt h.1)]⟩
 section RingHomIsometric
 
 variable {R₁ : Type _} {R₂ : Type _} {R₃ : Type _}
feat: port Analysis.Normed.Field.Basic (#2792)

Dependencies 10 + 600

601 files ported (98.4%)
262427 lines ported (98.0%)
Show graph

The unported dependencies are

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