topology.algebra.ring.basicMathlib.Topology.Algebra.Ring.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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
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.Ring.Prod
-import Mathbin.RingTheory.Subring.Basic
-import Mathbin.Topology.Algebra.Group.Basic
+import Algebra.Ring.Prod
+import RingTheory.Subring.Basic
+import Topology.Algebra.Group.Basic
 
 #align_import topology.algebra.ring.basic from "leanprover-community/mathlib"@"f47581155c818e6361af4e4fda60d27d020c226b"
 
Diff
@@ -223,7 +223,7 @@ section AddOpposite
 open AddOpposite
 
 instance [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [ContinuousMul α] : ContinuousMul αᵃᵒᵖ
-    where continuous_mul := by
+    where continuous_hMul := by
     convert
       continuous_op.comp <|
         (@continuous_mul α _ _ _).comp <| continuous_unop.prod_map continuous_unop
@@ -384,7 +384,7 @@ variable {α : Type _} [Ring α]
 instance inhabited {α : Type u} [Ring α] : Inhabited (RingTopology α) :=
   ⟨{  toTopologicalSpace := ⊤
       continuous_add := continuous_top
-      continuous_mul := continuous_top
+      continuous_hMul := continuous_top
       continuous_neg := continuous_top }⟩
 #align ring_topology.inhabited RingTopology.inhabited
 -/
@@ -411,7 +411,7 @@ private def def_Inf (S : Set (RingTopology α)) : RingTopology α :=
       have h := continuous_sInf_dom (Set.mem_image_of_mem to_topological_space haS) continuous_id
       have h_continuous_id := @Continuous.prod_map _ _ _ _ t t Inf_S' Inf_S' _ _ h h
       exact @Continuous.comp _ _ _ (id _) (id _) t _ _ continuous_add h_continuous_id
-    continuous_mul := by
+    continuous_hMul := by
       apply continuous_sInf_rng.2
       rintro _ ⟨⟨t, tr⟩, haS, rfl⟩; skip
       have h := continuous_sInf_dom (Set.mem_image_of_mem to_topological_space haS) continuous_id
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 topology.algebra.ring.basic
-! leanprover-community/mathlib commit f47581155c818e6361af4e4fda60d27d020c226b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Ring.Prod
 import Mathbin.RingTheory.Subring.Basic
 import Mathbin.Topology.Algebra.Group.Basic
 
+#align_import topology.algebra.ring.basic from "leanprover-community/mathlib"@"f47581155c818e6361af4e4fda60d27d020c226b"
+
 /-!
 
 # Topological (semi)rings
Diff
@@ -72,6 +72,7 @@ class TopologicalRing [TopologicalSpace α] [NonUnitalNonAssocRing α] extends T
 
 variable {α}
 
+#print TopologicalSemiring.continuousNeg_of_mul /-
 /-- If `R` is a ring with a continuous multiplication, then negation is continuous as well since it
 is just multiplication with `-1`. -/
 theorem TopologicalSemiring.continuousNeg_of_mul [TopologicalSpace α] [NonAssocRing α]
@@ -80,6 +81,7 @@ theorem TopologicalSemiring.continuousNeg_of_mul [TopologicalSpace α] [NonAssoc
     continuous_neg := by
       simpa using (continuous_const.mul continuous_id : Continuous fun x : α => -1 * x) }
 #align topological_semiring.has_continuous_neg_of_mul TopologicalSemiring.continuousNeg_of_mul
+-/
 
 #print TopologicalSemiring.toTopologicalRing /-
 /-- If `R` is a ring which is a topological semiring, then it is automatically a topological
@@ -136,31 +138,41 @@ def Subsemiring.topologicalClosure (s : Subsemiring α) : Subsemiring α :=
 #align subsemiring.topological_closure Subsemiring.topologicalClosure
 -/
 
+#print Subsemiring.topologicalClosure_coe /-
 @[simp]
 theorem Subsemiring.topologicalClosure_coe (s : Subsemiring α) :
     (s.topologicalClosure : Set α) = closure (s : Set α) :=
   rfl
 #align subsemiring.topological_closure_coe Subsemiring.topologicalClosure_coe
+-/
 
+#print Subsemiring.le_topologicalClosure /-
 theorem Subsemiring.le_topologicalClosure (s : Subsemiring α) : s ≤ s.topologicalClosure :=
   subset_closure
 #align subsemiring.le_topological_closure Subsemiring.le_topologicalClosure
+-/
 
+#print Subsemiring.isClosed_topologicalClosure /-
 theorem Subsemiring.isClosed_topologicalClosure (s : Subsemiring α) :
     IsClosed (s.topologicalClosure : Set α) := by convert isClosed_closure
 #align subsemiring.is_closed_topological_closure Subsemiring.isClosed_topologicalClosure
+-/
 
+#print Subsemiring.topologicalClosure_minimal /-
 theorem Subsemiring.topologicalClosure_minimal (s : Subsemiring α) {t : Subsemiring α} (h : s ≤ t)
     (ht : IsClosed (t : Set α)) : s.topologicalClosure ≤ t :=
   closure_minimal h ht
 #align subsemiring.topological_closure_minimal Subsemiring.topologicalClosure_minimal
+-/
 
+#print Subsemiring.commSemiringTopologicalClosure /-
 /-- If a subsemiring of a topological semiring is commutative, then so is its
 topological closure. -/
 def Subsemiring.commSemiringTopologicalClosure [T2Space α] (s : Subsemiring α)
     (hs : ∀ x y : s, x * y = y * x) : CommSemiring s.topologicalClosure :=
   { s.topologicalClosure.toSemiring, s.toSubmonoid.commMonoidTopologicalClosure hs with }
 #align subsemiring.comm_semiring_topological_closure Subsemiring.commSemiringTopologicalClosure
+-/
 
 end
 
@@ -231,6 +243,7 @@ section
 
 variable {R : Type _} [NonUnitalNonAssocRing R] [TopologicalSpace R]
 
+#print TopologicalRing.of_addGroup_of_nhds_zero /-
 theorem TopologicalRing.of_addGroup_of_nhds_zero [TopologicalAddGroup R]
     (hmul : Tendsto (uncurry ((· * ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
     (hmul_left : ∀ x₀ : R, Tendsto (fun x : R => x₀ * x) (𝓝 0) <| 𝓝 0)
@@ -259,7 +272,9 @@ theorem TopologicalRing.of_addGroup_of_nhds_zero [TopologicalAddGroup R]
   refine' tendsto_map.comp (hadd.comp (tendsto.prod_mk _ hmul))
   exact hadd.comp (((hmul_right y₀).comp tendsto_fst).prod_mk ((hmul_left x₀).comp tendsto_snd))
 #align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_addGroup_of_nhds_zero
+-/
 
+#print TopologicalRing.of_nhds_zero /-
 theorem TopologicalRing.of_nhds_zero
     (hadd : Tendsto (uncurry ((· + ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
     (hneg : Tendsto (fun x => -x : R → R) (𝓝 0) (𝓝 0))
@@ -270,6 +285,7 @@ theorem TopologicalRing.of_nhds_zero
   haveI := TopologicalAddGroup.of_comm_of_nhds_zero hadd hneg hleft
   TopologicalRing.of_addGroup_of_nhds_zero hmul hmul_left hmul_right
 #align topological_ring.of_nhds_zero TopologicalRing.of_nhds_zero
+-/
 
 end
 
@@ -279,15 +295,19 @@ section
 
 variable [NonUnitalNonAssocRing α] [TopologicalRing α]
 
+#print mulLeft_continuous /-
 /-- In a topological semiring, the left-multiplication `add_monoid_hom` is continuous. -/
 theorem mulLeft_continuous (x : α) : Continuous (AddMonoidHom.mulLeft x) :=
   continuous_const.mul continuous_id
 #align mul_left_continuous mulLeft_continuous
+-/
 
+#print mulRight_continuous /-
 /-- In a topological semiring, the right-multiplication `add_monoid_hom` is continuous. -/
 theorem mulRight_continuous (x : α) : Continuous (AddMonoidHom.mulRight x) :=
   continuous_id.mul continuous_const
 #align mul_right_continuous mulRight_continuous
+-/
 
 end
 
@@ -309,24 +329,32 @@ def Subring.topologicalClosure (S : Subring α) : Subring α :=
 #align subring.topological_closure Subring.topologicalClosure
 -/
 
+#print Subring.le_topologicalClosure /-
 theorem Subring.le_topologicalClosure (s : Subring α) : s ≤ s.topologicalClosure :=
   subset_closure
 #align subring.le_topological_closure Subring.le_topologicalClosure
+-/
 
+#print Subring.isClosed_topologicalClosure /-
 theorem Subring.isClosed_topologicalClosure (s : Subring α) :
     IsClosed (s.topologicalClosure : Set α) := by convert isClosed_closure
 #align subring.is_closed_topological_closure Subring.isClosed_topologicalClosure
+-/
 
+#print Subring.topologicalClosure_minimal /-
 theorem Subring.topologicalClosure_minimal (s : Subring α) {t : Subring α} (h : s ≤ t)
     (ht : IsClosed (t : Set α)) : s.topologicalClosure ≤ t :=
   closure_minimal h ht
 #align subring.topological_closure_minimal Subring.topologicalClosure_minimal
+-/
 
+#print Subring.commRingTopologicalClosure /-
 /-- If a subring of a topological ring is commutative, then so is its topological closure. -/
 def Subring.commRingTopologicalClosure [T2Space α] (s : Subring α) (hs : ∀ x y : s, x * y = y * x) :
     CommRing s.topologicalClosure :=
   { s.topologicalClosure.toRing, s.toSubmonoid.commMonoidTopologicalClosure hs with }
 #align subring.comm_ring_topological_closure Subring.commRingTopologicalClosure
+-/
 
 end TopologicalSemiring
 
@@ -375,7 +403,6 @@ theorem ext {f g : RingTopology α} (h : f.IsOpen = g.IsOpen) : f = g := by ext
 instance : PartialOrder (RingTopology α) :=
   PartialOrder.lift RingTopology.toTopologicalSpace <| ext
 
--- mathport name: exprcont
 local notation "cont" => @Continuous _ _
 
 private def def_Inf (S : Set (RingTopology α)) : RingTopology α :=
@@ -428,6 +455,7 @@ def coinduced {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → 
 #align ring_topology.coinduced RingTopology.coinduced
 -/
 
+#print RingTopology.coinduced_continuous /-
 theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) :
     cont t (coinduced f).toTopologicalSpace f :=
   by
@@ -436,7 +464,9 @@ theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β
   rintro _ ⟨t', ht', rfl⟩
   exact ht'
 #align ring_topology.coinduced_continuous RingTopology.coinduced_continuous
+-/
 
+#print RingTopology.toAddGroupTopology /-
 /-- The forgetful functor from ring topologies on `a` to additive group topologies on `a`. -/
 def toAddGroupTopology (t : RingTopology α) : AddGroupTopology α
     where
@@ -444,16 +474,20 @@ def toAddGroupTopology (t : RingTopology α) : AddGroupTopology α
   to_topologicalAddGroup :=
     @TopologicalRing.to_topologicalAddGroup _ _ t.toTopologicalSpace t.toTopologicalRing
 #align ring_topology.to_add_group_topology RingTopology.toAddGroupTopology
+-/
 
+#print RingTopology.toAddGroupTopology.orderEmbedding /-
 /-- The order embedding from ring topologies on `a` to additive group topologies on `a`. -/
 def toAddGroupTopology.orderEmbedding : OrderEmbedding (RingTopology α) (AddGroupTopology α) :=
   OrderEmbedding.ofMapLEIff toAddGroupTopology fun _ _ => Iff.rfl
 #align ring_topology.to_add_group_topology.order_embedding RingTopology.toAddGroupTopology.orderEmbedding
+-/
 
 end RingTopology
 
 section AbsoluteValue
 
+#print AbsoluteValue.comp /-
 /-- Construct an absolute value on a semiring `T` from an absolute value on a semiring `R`
 and an injective ring homomorphism `f : T →+* R` -/
 def AbsoluteValue.comp {R S T : Type _} [Semiring T] [Semiring R] [OrderedSemiring S]
@@ -465,6 +499,7 @@ def AbsoluteValue.comp {R S T : Type _} [Semiring T] [Semiring R] [OrderedSemiri
   eq_zero' := by simp only [map_eq_zero_iff f hf, v.eq_zero, forall_const, iff_self_iff]
   add_le' := by simp only [Function.comp_apply, map_add, v.add_le, forall_const]
 #align absolute_value.comp AbsoluteValue.comp
+-/
 
 end AbsoluteValue
 
Diff
@@ -215,7 +215,8 @@ open AddOpposite
 
 instance [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [ContinuousMul α] : ContinuousMul αᵃᵒᵖ
     where continuous_mul := by
-    convert continuous_op.comp <|
+    convert
+      continuous_op.comp <|
         (@continuous_mul α _ _ _).comp <| continuous_unop.prod_map continuous_unop
 
 instance [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [TopologicalSemiring α] :
@@ -423,7 +424,7 @@ instance : CompleteLattice (RingTopology α) :=
 /-- Given `f : α → β` and a topology on `α`, the coinduced ring topology on `β` is the finest
 topology such that `f` is continuous and `β` is a topological ring. -/
 def coinduced {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) : RingTopology β :=
-  sInf { b : RingTopology β | TopologicalSpace.coinduced f t ≤ b.toTopologicalSpace }
+  sInf {b : RingTopology β | TopologicalSpace.coinduced f t ≤ b.toTopologicalSpace}
 #align ring_topology.coinduced RingTopology.coinduced
 -/
 
Diff
@@ -54,7 +54,7 @@ then `topological_ring` should be used. Note: in the presence of `non_assoc_ring
 mathematically equivalent (see `topological_semiring.has_continuous_neg_of_mul` or
 `topological_semiring.to_topological_ring`).  -/
 class TopologicalSemiring [TopologicalSpace α] [NonUnitalNonAssocSemiring α] extends
-  ContinuousAdd α, ContinuousMul α : Prop
+    ContinuousAdd α, ContinuousMul α : Prop
 #align topological_semiring TopologicalSemiring
 -/
 
@@ -66,7 +66,7 @@ multiplication as it is multiplication with `-1`. (See
 `topological_semiring.has_continuous_neg_of_mul` and
 `topological_semiring.to_topological_add_group`) -/
 class TopologicalRing [TopologicalSpace α] [NonUnitalNonAssocRing α] extends TopologicalSemiring α,
-  ContinuousNeg α : Prop
+    ContinuousNeg α : Prop
 #align topological_ring TopologicalRing
 -/
 
Diff
@@ -38,7 +38,7 @@ of topological (semi)rings.
 
 open Classical Set Filter TopologicalSpace Function
 
-open Classical Topology Filter
+open scoped Classical Topology Filter
 
 section TopologicalSemiring
 
Diff
@@ -72,12 +72,6 @@ class TopologicalRing [TopologicalSpace α] [NonUnitalNonAssocRing α] extends T
 
 variable {α}
 
-/- warning: topological_semiring.has_continuous_neg_of_mul -> TopologicalSemiring.continuousNeg_of_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))))], ContinuousNeg.{u1} α _inst_1 (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (NonAssocRing.toAddCommGroupWithOne.{u1} α _inst_2)))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))], ContinuousNeg.{u1} α _inst_1 (AddGroupWithOne.toNeg.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (NonAssocRing.toAddCommGroupWithOne.{u1} α _inst_2)))
-Case conversion may be inaccurate. Consider using '#align topological_semiring.has_continuous_neg_of_mul TopologicalSemiring.continuousNeg_of_mulₓ'. -/
 /-- If `R` is a ring with a continuous multiplication, then negation is continuous as well since it
 is just multiplication with `-1`. -/
 theorem TopologicalSemiring.continuousNeg_of_mul [TopologicalSpace α] [NonAssocRing α]
@@ -142,55 +136,25 @@ def Subsemiring.topologicalClosure (s : Subsemiring α) : Subsemiring α :=
 #align subsemiring.topological_closure Subsemiring.topologicalClosure
 -/
 
-/- warning: subsemiring.topological_closure_coe -> Subsemiring.topologicalClosure_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)) (closure.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)) (closure.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) s))
-Case conversion may be inaccurate. Consider using '#align subsemiring.topological_closure_coe Subsemiring.topologicalClosure_coeₓ'. -/
 @[simp]
 theorem Subsemiring.topologicalClosure_coe (s : Subsemiring α) :
     (s.topologicalClosure : Set α) = closure (s : Set α) :=
   rfl
 #align subsemiring.topological_closure_coe Subsemiring.topologicalClosure_coe
 
-/- warning: subsemiring.le_topological_closure -> Subsemiring.le_topologicalClosure is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toHasLe.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) s (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
-Case conversion may be inaccurate. Consider using '#align subsemiring.le_topological_closure Subsemiring.le_topologicalClosureₓ'. -/
 theorem Subsemiring.le_topologicalClosure (s : Subsemiring α) : s ≤ s.topologicalClosure :=
   subset_closure
 #align subsemiring.le_topological_closure Subsemiring.le_topologicalClosure
 
-/- warning: subsemiring.is_closed_topological_closure -> Subsemiring.isClosed_topologicalClosure is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))
-Case conversion may be inaccurate. Consider using '#align subsemiring.is_closed_topological_closure Subsemiring.isClosed_topologicalClosureₓ'. -/
 theorem Subsemiring.isClosed_topologicalClosure (s : Subsemiring α) :
     IsClosed (s.topologicalClosure : Set α) := by convert isClosed_closure
 #align subsemiring.is_closed_topological_closure Subsemiring.isClosed_topologicalClosure
 
-/- warning: subsemiring.topological_closure_minimal -> Subsemiring.topologicalClosure_minimal is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) {t : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)}, (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toHasLe.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s t) -> (IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) t)) -> (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toHasLe.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) {t : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)}, (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) s t) -> (IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) t)) -> (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
-Case conversion may be inaccurate. Consider using '#align subsemiring.topological_closure_minimal Subsemiring.topologicalClosure_minimalₓ'. -/
 theorem Subsemiring.topologicalClosure_minimal (s : Subsemiring α) {t : Subsemiring α} (h : s ≤ t)
     (ht : IsClosed (t : Set α)) : s.topologicalClosure ≤ t :=
   closure_minimal h ht
 #align subsemiring.topological_closure_minimal Subsemiring.topologicalClosure_minimal
 
-/- warning: subsemiring.comm_semiring_topological_closure -> Subsemiring.commSemiringTopologicalClosure is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), (forall (x : coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (y : coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (MulMemClass.mul.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))) (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.commSemiringTopologicalClosure._proof_1.{u1} α _inst_2) s)) x y) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (MulMemClass.mul.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))) (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.commSemiringTopologicalClosure._proof_1.{u1} α _inst_2) s)) y x)) -> (CommSemiring.{u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), (forall (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (y : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)), Eq.{succ u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) (Subsemiring.toSubmonoid.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2) s))) x y) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) (Subsemiring.toSubmonoid.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2) s))) y x)) -> (CommSemiring.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))))
-Case conversion may be inaccurate. Consider using '#align subsemiring.comm_semiring_topological_closure Subsemiring.commSemiringTopologicalClosureₓ'. -/
 /-- If a subsemiring of a topological semiring is commutative, then so is its
 topological closure. -/
 def Subsemiring.commSemiringTopologicalClosure [T2Space α] (s : Subsemiring α)
@@ -266,12 +230,6 @@ section
 
 variable {R : Type _} [NonUnitalNonAssocRing R] [TopologicalSpace R]
 
-/- warning: topological_ring.of_add_group_of_nhds_zero -> TopologicalRing.of_addGroup_of_nhds_zero is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R] [_inst_3 : TopologicalAddGroup.{u1} R _inst_2 (AddCommGroup.toAddGroup.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1))], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R] [_inst_3 : TopologicalAddGroup.{u1} R _inst_2 (AddCommGroup.toAddGroup.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1))], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (fun (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.806 : R) (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.808 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.806 x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.808)) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1)
-Case conversion may be inaccurate. Consider using '#align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_addGroup_of_nhds_zeroₓ'. -/
 theorem TopologicalRing.of_addGroup_of_nhds_zero [TopologicalAddGroup R]
     (hmul : Tendsto (uncurry ((· * ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
     (hmul_left : ∀ x₀ : R, Tendsto (fun x : R => x₀ * x) (𝓝 0) <| 𝓝 0)
@@ -301,12 +259,6 @@ theorem TopologicalRing.of_addGroup_of_nhds_zero [TopologicalAddGroup R]
   exact hadd.comp (((hmul_right y₀).comp tendsto_fst).prod_mk ((hmul_left x₀).comp tendsto_snd))
 #align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_addGroup_of_nhds_zero
 
-/- warning: topological_ring.of_nhds_zero -> TopologicalRing.of_nhds_zero is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} R R (fun (x : R) => Neg.neg.{u1} R (SubNegMonoid.toHasNeg.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddCommGroup.toAddGroup.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1)))) x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Eq.{succ u1} (Filter.{u1} R) (nhds.{u1} R _inst_2 x₀) (Filter.map.{u1, u1} R R (fun (x : R) => HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (fun (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.975 : R) (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.977 : R) => HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.975 x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.977)) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (Filter.Tendsto.{u1, u1} R R (fun (x : R) => Neg.neg.{u1} R (NegZeroClass.toNeg.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R (SubtractionMonoid.toSubNegZeroMonoid.{u1} R (SubtractionCommMonoid.toSubtractionMonoid.{u1} R (AddCommGroup.toDivisionAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1)))))) x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (fun (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1059 : R) (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1061 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1059 x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1061)) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Eq.{succ u1} (Filter.{u1} R) (nhds.{u1} R _inst_2 x₀) (Filter.map.{u1, u1} R R (fun (x : R) => HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1)
-Case conversion may be inaccurate. Consider using '#align topological_ring.of_nhds_zero TopologicalRing.of_nhds_zeroₓ'. -/
 theorem TopologicalRing.of_nhds_zero
     (hadd : Tendsto (uncurry ((· + ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
     (hneg : Tendsto (fun x => -x : R → R) (𝓝 0) (𝓝 0))
@@ -326,23 +278,11 @@ section
 
 variable [NonUnitalNonAssocRing α] [TopologicalRing α]
 
-/- warning: mul_left_continuous -> mulLeft_continuous is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _inst_1 (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α (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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
-Case conversion may be inaccurate. Consider using '#align mul_left_continuous mulLeft_continuousₓ'. -/
 /-- In a topological semiring, the left-multiplication `add_monoid_hom` is continuous. -/
 theorem mulLeft_continuous (x : α) : Continuous (AddMonoidHom.mulLeft x) :=
   continuous_const.mul continuous_id
 #align mul_left_continuous mulLeft_continuous
 
-/- warning: mul_right_continuous -> mulRight_continuous is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _inst_1 (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α (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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
-Case conversion may be inaccurate. Consider using '#align mul_right_continuous mulRight_continuousₓ'. -/
 /-- In a topological semiring, the right-multiplication `add_monoid_hom` is continuous. -/
 theorem mulRight_continuous (x : α) : Continuous (AddMonoidHom.mulRight x) :=
   continuous_id.mul continuous_const
@@ -368,43 +308,19 @@ def Subring.topologicalClosure (S : Subring α) : Subring α :=
 #align subring.topological_closure Subring.topologicalClosure
 -/
 
-/- warning: subring.le_topological_closure -> Subring.le_topologicalClosure is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toHasLe.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) s (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) s (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
-Case conversion may be inaccurate. Consider using '#align subring.le_topological_closure Subring.le_topologicalClosureₓ'. -/
 theorem Subring.le_topologicalClosure (s : Subring α) : s ≤ s.topologicalClosure :=
   subset_closure
 #align subring.le_topological_closure Subring.le_topologicalClosure
 
-/- warning: subring.is_closed_topological_closure -> Subring.isClosed_topologicalClosure is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subring.{u1} α _inst_2) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))
-Case conversion may be inaccurate. Consider using '#align subring.is_closed_topological_closure Subring.isClosed_topologicalClosureₓ'. -/
 theorem Subring.isClosed_topologicalClosure (s : Subring α) :
     IsClosed (s.topologicalClosure : Set α) := by convert isClosed_closure
 #align subring.is_closed_topological_closure Subring.isClosed_topologicalClosure
 
-/- warning: subring.topological_closure_minimal -> Subring.topologicalClosure_minimal is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2) {t : Subring.{u1} α _inst_2}, (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toHasLe.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) s t) -> (IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subring.{u1} α _inst_2) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) t)) -> (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toHasLe.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2) {t : Subring.{u1} α _inst_2}, (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) s t) -> (IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2) t)) -> (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
-Case conversion may be inaccurate. Consider using '#align subring.topological_closure_minimal Subring.topologicalClosure_minimalₓ'. -/
 theorem Subring.topologicalClosure_minimal (s : Subring α) {t : Subring α} (h : s ≤ t)
     (ht : IsClosed (t : Set α)) : s.topologicalClosure ≤ t :=
   closure_minimal h ht
 #align subring.topological_closure_minimal Subring.topologicalClosure_minimal
 
-/- warning: subring.comm_ring_topological_closure -> Subring.commRingTopologicalClosure is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subring.{u1} α _inst_2), (forall (x : coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (y : coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (MulMemClass.mul.{u1, u1} α (Subring.{u1} α _inst_2) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))))) (Subring.setLike.{u1} α _inst_2) (Subring.commRingTopologicalClosure._proof_1.{u1} α _inst_2) s)) x y) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (MulMemClass.mul.{u1, u1} α (Subring.{u1} α _inst_2) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))))) (Subring.setLike.{u1} α _inst_2) (Subring.commRingTopologicalClosure._proof_1.{u1} α _inst_2) s)) y x)) -> (CommRing.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subring.{u1} α _inst_2), (forall (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (y : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)), Eq.{succ u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_2)))) (Subsemiring.toSubmonoid.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_2)) (Subring.toSubsemiring.{u1} α _inst_2 s)))) x y) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_2)))) (Subsemiring.toSubmonoid.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_2)) (Subring.toSubsemiring.{u1} α _inst_2 s)))) y x)) -> (CommRing.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))))
-Case conversion may be inaccurate. Consider using '#align subring.comm_ring_topological_closure Subring.commRingTopologicalClosureₓ'. -/
 /-- If a subring of a topological ring is commutative, then so is its topological closure. -/
 def Subring.commRingTopologicalClosure [T2Space α] (s : Subring α) (hs : ∀ x y : s, x * y = y * x) :
     CommRing s.topologicalClosure :=
@@ -511,12 +427,6 @@ def coinduced {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → 
 #align ring_topology.coinduced RingTopology.coinduced
 -/
 
-/- warning: ring_topology.coinduced_continuous -> RingTopology.coinduced_continuous is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [t : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u2} β] (f : α -> β), Continuous.{u1, u2} α β t (RingTopology.toTopologicalSpace.{u2} β _inst_2 (RingTopology.coinduced.{u1, u2} α β t _inst_2 f)) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [t : TopologicalSpace.{u2} α] [_inst_2 : Ring.{u1} β] (f : α -> β), Continuous.{u2, u1} α β t (RingTopology.toTopologicalSpace.{u1} β _inst_2 (RingTopology.coinduced.{u2, u1} α β t _inst_2 f)) f
-Case conversion may be inaccurate. Consider using '#align ring_topology.coinduced_continuous RingTopology.coinduced_continuousₓ'. -/
 theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) :
     cont t (coinduced f).toTopologicalSpace f :=
   by
@@ -526,12 +436,6 @@ theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β
   exact ht'
 #align ring_topology.coinduced_continuous RingTopology.coinduced_continuous
 
-/- warning: ring_topology.to_add_group_topology -> RingTopology.toAddGroupTopology is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], (RingTopology.{u1} α _inst_1) -> (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], (RingTopology.{u1} α _inst_1) -> (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1)))
-Case conversion may be inaccurate. Consider using '#align ring_topology.to_add_group_topology RingTopology.toAddGroupTopologyₓ'. -/
 /-- The forgetful functor from ring topologies on `a` to additive group topologies on `a`. -/
 def toAddGroupTopology (t : RingTopology α) : AddGroupTopology α
     where
@@ -540,12 +444,6 @@ def toAddGroupTopology (t : RingTopology α) : AddGroupTopology α
     @TopologicalRing.to_topologicalAddGroup _ _ t.toTopologicalSpace t.toTopologicalRing
 #align ring_topology.to_add_group_topology RingTopology.toAddGroupTopology
 
-/- warning: ring_topology.to_add_group_topology.order_embedding -> RingTopology.toAddGroupTopology.orderEmbedding is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (Preorder.toHasLe.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.partialOrder.{u1} α _inst_1))) (Preorder.toHasLe.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (AddGroupTopology.partialOrder.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (Preorder.toLE.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.instPartialOrderRingTopology.{u1} α _inst_1))) (Preorder.toLE.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (AddGroupTopology.instPartialOrderAddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align ring_topology.to_add_group_topology.order_embedding RingTopology.toAddGroupTopology.orderEmbeddingₓ'. -/
 /-- The order embedding from ring topologies on `a` to additive group topologies on `a`. -/
 def toAddGroupTopology.orderEmbedding : OrderEmbedding (RingTopology α) (AddGroupTopology α) :=
   OrderEmbedding.ofMapLEIff toAddGroupTopology fun _ _ => Iff.rfl
@@ -555,12 +453,6 @@ end RingTopology
 
 section AbsoluteValue
 
-/- warning: absolute_value.comp -> AbsoluteValue.comp is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (fun (_x : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) => T -> R) (RingHom.hasCoeToFun.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T (fun (_x : T) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : T) => R) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonUnitalNonAssocSemiring.toMul.{u3} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
-Case conversion may be inaccurate. Consider using '#align absolute_value.comp AbsoluteValue.compₓ'. -/
 /-- Construct an absolute value on a semiring `T` from an absolute value on a semiring `R`
 and an injective ring homomorphism `f : T →+* R` -/
 def AbsoluteValue.comp {R S T : Type _} [Semiring T] [Semiring R] [OrderedSemiring S]
Diff
@@ -295,9 +295,7 @@ theorem TopologicalRing.of_addGroup_of_nhds_zero [TopologicalAddGroup R]
       (𝓝 0 ×ᶠ 𝓝 0) ((map fun x : R => x + x₀ * y₀) <| 𝓝 0)
     by
     convert this using 1
-    · ext
-      simp only [comp_app, mul_add, add_mul]
-      abel
+    · ext; simp only [comp_app, mul_add, add_mul]; abel
     · simp only [add_comm]
   refine' tendsto_map.comp (hadd.comp (tendsto.prod_mk _ hmul))
   exact hadd.comp (((hmul_right y₀).comp tendsto_fst).prod_mk ((hmul_left x₀).comp tendsto_snd))
@@ -451,10 +449,7 @@ instance inhabited {α : Type u} [Ring α] : Inhabited (RingTopology α) :=
 
 #print RingTopology.ext /-
 @[ext]
-theorem ext {f g : RingTopology α} (h : f.IsOpen = g.IsOpen) : f = g :=
-  by
-  ext : 2
-  exact h
+theorem ext {f g : RingTopology α} (h : f.IsOpen = g.IsOpen) : f = g := by ext : 2; exact h
 #align ring_topology.ext' RingTopology.ext
 -/
 
@@ -498,10 +493,7 @@ contained in the intersection of `s` and `t`. -/
 instance : CompleteSemilatticeInf (RingTopology α) :=
   { RingTopology.partialOrder with
     sInf := defInf
-    inf_le := fun S a haS =>
-      by
-      apply topological_space.complete_lattice.Inf_le
-      use a, ⟨haS, rfl⟩
+    inf_le := fun S a haS => by apply topological_space.complete_lattice.Inf_le; use a, ⟨haS, rfl⟩
     le_inf := by
       intro S a hab
       apply topological_space.complete_lattice.le_Inf
Diff
@@ -486,7 +486,6 @@ private def def_Inf (S : Set (RingTopology α)) : RingTopology α :=
       rintro _ ⟨⟨t, tr⟩, haS, rfl⟩; skip
       have h := continuous_sInf_dom (Set.mem_image_of_mem to_topological_space haS) continuous_id
       exact @Continuous.comp _ _ _ (id _) (id _) t _ _ continuous_neg h }
-#align ring_topology.def_Inf ring_topology.def_Inf
 
 /-- Ring topologies on `α` form a complete lattice, with `⊥` the discrete topology and `⊤` the
 indiscrete topology.
Diff
@@ -568,7 +568,7 @@ section AbsoluteValue
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (fun (_x : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) => T -> R) (RingHom.hasCoeToFun.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T (fun (_x : T) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : T) => R) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonUnitalNonAssocSemiring.toMul.{u3} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T (fun (_x : T) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : T) => R) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonUnitalNonAssocSemiring.toMul.{u3} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
 Case conversion may be inaccurate. Consider using '#align absolute_value.comp AbsoluteValue.compₓ'. -/
 /-- Construct an absolute value on a semiring `T` from an absolute value on a semiring `R`
 and an injective ring homomorphism `f : T →+* R` -/
Diff
@@ -156,7 +156,7 @@ theorem Subsemiring.topologicalClosure_coe (s : Subsemiring α) :
 
 /- warning: subsemiring.le_topological_closure -> Subsemiring.le_topologicalClosure is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toHasLe.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) s (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
 Case conversion may be inaccurate. Consider using '#align subsemiring.le_topological_closure Subsemiring.le_topologicalClosureₓ'. -/
@@ -176,7 +176,7 @@ theorem Subsemiring.isClosed_topologicalClosure (s : Subsemiring α) :
 
 /- warning: subsemiring.topological_closure_minimal -> Subsemiring.topologicalClosure_minimal is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) {t : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)}, (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s t) -> (IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) t)) -> (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) {t : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)}, (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toHasLe.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s t) -> (IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) t)) -> (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toHasLe.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) {t : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)}, (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) s t) -> (IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) t)) -> (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
 Case conversion may be inaccurate. Consider using '#align subsemiring.topological_closure_minimal Subsemiring.topologicalClosure_minimalₓ'. -/
@@ -372,7 +372,7 @@ def Subring.topologicalClosure (S : Subring α) : Subring α :=
 
 /- warning: subring.le_topological_closure -> Subring.le_topologicalClosure is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) s (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toHasLe.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) s (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) s (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
 Case conversion may be inaccurate. Consider using '#align subring.le_topological_closure Subring.le_topologicalClosureₓ'. -/
@@ -392,7 +392,7 @@ theorem Subring.isClosed_topologicalClosure (s : Subring α) :
 
 /- warning: subring.topological_closure_minimal -> Subring.topologicalClosure_minimal is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2) {t : Subring.{u1} α _inst_2}, (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) s t) -> (IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subring.{u1} α _inst_2) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) t)) -> (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2) {t : Subring.{u1} α _inst_2}, (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toHasLe.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) s t) -> (IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subring.{u1} α _inst_2) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) t)) -> (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toHasLe.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2) {t : Subring.{u1} α _inst_2}, (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) s t) -> (IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2) t)) -> (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
 Case conversion may be inaccurate. Consider using '#align subring.topological_closure_minimal Subring.topologicalClosure_minimalₓ'. -/
@@ -551,7 +551,7 @@ def toAddGroupTopology (t : RingTopology α) : AddGroupTopology α
 
 /- warning: ring_topology.to_add_group_topology.order_embedding -> RingTopology.toAddGroupTopology.orderEmbedding is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (Preorder.toLE.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.partialOrder.{u1} α _inst_1))) (Preorder.toLE.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (AddGroupTopology.partialOrder.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1))))))
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (Preorder.toHasLe.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.partialOrder.{u1} α _inst_1))) (Preorder.toHasLe.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (AddGroupTopology.partialOrder.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1))))))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (Preorder.toLE.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.instPartialOrderRingTopology.{u1} α _inst_1))) (Preorder.toLE.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (AddGroupTopology.instPartialOrderAddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align ring_topology.to_add_group_topology.order_embedding RingTopology.toAddGroupTopology.orderEmbeddingₓ'. -/
Diff
@@ -467,24 +467,24 @@ instance : PartialOrder (RingTopology α) :=
 local notation "cont" => @Continuous _ _
 
 private def def_Inf (S : Set (RingTopology α)) : RingTopology α :=
-  let Inf_S' := infₛ (toTopologicalSpace '' S)
+  let Inf_S' := sInf (toTopologicalSpace '' S)
   { toTopologicalSpace := Inf_S'
     continuous_add := by
-      apply continuous_infₛ_rng.2
+      apply continuous_sInf_rng.2
       rintro _ ⟨⟨t, tr⟩, haS, rfl⟩; skip
-      have h := continuous_infₛ_dom (Set.mem_image_of_mem to_topological_space haS) continuous_id
+      have h := continuous_sInf_dom (Set.mem_image_of_mem to_topological_space haS) continuous_id
       have h_continuous_id := @Continuous.prod_map _ _ _ _ t t Inf_S' Inf_S' _ _ h h
       exact @Continuous.comp _ _ _ (id _) (id _) t _ _ continuous_add h_continuous_id
     continuous_mul := by
-      apply continuous_infₛ_rng.2
+      apply continuous_sInf_rng.2
       rintro _ ⟨⟨t, tr⟩, haS, rfl⟩; skip
-      have h := continuous_infₛ_dom (Set.mem_image_of_mem to_topological_space haS) continuous_id
+      have h := continuous_sInf_dom (Set.mem_image_of_mem to_topological_space haS) continuous_id
       have h_continuous_id := @Continuous.prod_map _ _ _ _ t t Inf_S' Inf_S' _ _ h h
       exact @Continuous.comp _ _ _ (id _) (id _) t _ _ continuous_mul h_continuous_id
     continuous_neg := by
-      apply continuous_infₛ_rng.2
+      apply continuous_sInf_rng.2
       rintro _ ⟨⟨t, tr⟩, haS, rfl⟩; skip
-      have h := continuous_infₛ_dom (Set.mem_image_of_mem to_topological_space haS) continuous_id
+      have h := continuous_sInf_dom (Set.mem_image_of_mem to_topological_space haS) continuous_id
       exact @Continuous.comp _ _ _ (id _) (id _) t _ _ continuous_neg h }
 #align ring_topology.def_Inf ring_topology.def_Inf
 
@@ -498,7 +498,7 @@ The supremum of two ring topologies `s` and `t` is the infimum of the family of
 contained in the intersection of `s` and `t`. -/
 instance : CompleteSemilatticeInf (RingTopology α) :=
   { RingTopology.partialOrder with
-    infₛ := defInf
+    sInf := defInf
     inf_le := fun S a haS =>
       by
       apply topological_space.complete_lattice.Inf_le
@@ -516,7 +516,7 @@ instance : CompleteLattice (RingTopology α) :=
 /-- Given `f : α → β` and a topology on `α`, the coinduced ring topology on `β` is the finest
 topology such that `f` is continuous and `β` is a topological ring. -/
 def coinduced {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) : RingTopology β :=
-  infₛ { b : RingTopology β | TopologicalSpace.coinduced f t ≤ b.toTopologicalSpace }
+  sInf { b : RingTopology β | TopologicalSpace.coinduced f t ≤ b.toTopologicalSpace }
 #align ring_topology.coinduced RingTopology.coinduced
 -/
 
@@ -530,7 +530,7 @@ theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β
     cont t (coinduced f).toTopologicalSpace f :=
   by
   rw [continuous_iff_coinduced_le]
-  refine' le_infₛ _
+  refine' le_sInf _
   rintro _ ⟨t', ht', rfl⟩
   exact ht'
 #align ring_topology.coinduced_continuous RingTopology.coinduced_continuous
Diff
@@ -405,7 +405,7 @@ theorem Subring.topologicalClosure_minimal (s : Subring α) {t : Subring α} (h
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subring.{u1} α _inst_2), (forall (x : coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (y : coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (MulMemClass.mul.{u1, u1} α (Subring.{u1} α _inst_2) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))))) (Subring.setLike.{u1} α _inst_2) (Subring.commRingTopologicalClosure._proof_1.{u1} α _inst_2) s)) x y) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (MulMemClass.mul.{u1, u1} α (Subring.{u1} α _inst_2) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))))) (Subring.setLike.{u1} α _inst_2) (Subring.commRingTopologicalClosure._proof_1.{u1} α _inst_2) s)) y x)) -> (CommRing.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subring.{u1} α _inst_2), (forall (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (y : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)), Eq.{succ u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)))) (Subsemiring.toSubmonoid.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)) (Subring.toSubsemiring.{u1} α _inst_2 s)))) x y) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)))) (Subsemiring.toSubmonoid.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)) (Subring.toSubsemiring.{u1} α _inst_2 s)))) y x)) -> (CommRing.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))))
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subring.{u1} α _inst_2), (forall (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (y : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)), Eq.{succ u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_2)))) (Subsemiring.toSubmonoid.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_2)) (Subring.toSubsemiring.{u1} α _inst_2 s)))) x y) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_2)))) (Subsemiring.toSubmonoid.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_2)) (Subring.toSubsemiring.{u1} α _inst_2 s)))) y x)) -> (CommRing.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))))
 Case conversion may be inaccurate. Consider using '#align subring.comm_ring_topological_closure Subring.commRingTopologicalClosureₓ'. -/
 /-- If a subring of a topological ring is commutative, then so is its topological closure. -/
 def Subring.commRingTopologicalClosure [T2Space α] (s : Subring α) (hs : ∀ x y : s, x * y = y * x) :
Diff
@@ -74,7 +74,7 @@ variable {α}
 
 /- warning: topological_semiring.has_continuous_neg_of_mul -> TopologicalSemiring.continuousNeg_of_mul is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))))], ContinuousNeg.{u1} α _inst_1 (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α _inst_2))))
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))))], ContinuousNeg.{u1} α _inst_1 (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (NonAssocRing.toAddCommGroupWithOne.{u1} α _inst_2)))))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))], ContinuousNeg.{u1} α _inst_1 (AddGroupWithOne.toNeg.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (NonAssocRing.toAddCommGroupWithOne.{u1} α _inst_2)))
 Case conversion may be inaccurate. Consider using '#align topological_semiring.has_continuous_neg_of_mul TopologicalSemiring.continuousNeg_of_mulₓ'. -/
@@ -537,7 +537,7 @@ theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β
 
 /- warning: ring_topology.to_add_group_topology -> RingTopology.toAddGroupTopology is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], (RingTopology.{u1} α _inst_1) -> (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1))))
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], (RingTopology.{u1} α _inst_1) -> (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1))))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], (RingTopology.{u1} α _inst_1) -> (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1)))
 Case conversion may be inaccurate. Consider using '#align ring_topology.to_add_group_topology RingTopology.toAddGroupTopologyₓ'. -/
@@ -551,7 +551,7 @@ def toAddGroupTopology (t : RingTopology α) : AddGroupTopology α
 
 /- warning: ring_topology.to_add_group_topology.order_embedding -> RingTopology.toAddGroupTopology.orderEmbedding is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) (Preorder.toLE.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.partialOrder.{u1} α _inst_1))) (Preorder.toLE.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) (AddGroupTopology.partialOrder.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1))))))
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (Preorder.toLE.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.partialOrder.{u1} α _inst_1))) (Preorder.toLE.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))) (AddGroupTopology.partialOrder.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1))))))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (Preorder.toLE.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.instPartialOrderRingTopology.{u1} α _inst_1))) (Preorder.toLE.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (AddGroupTopology.instPartialOrderAddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align ring_topology.to_add_group_topology.order_embedding RingTopology.toAddGroupTopology.orderEmbeddingₓ'. -/
Diff
@@ -76,7 +76,7 @@ variable {α}
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))))], ContinuousNeg.{u1} α _inst_1 (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α _inst_2))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))], ContinuousNeg.{u1} α _inst_1 (AddGroupWithOne.toNeg.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α _inst_2))
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))], ContinuousNeg.{u1} α _inst_1 (AddGroupWithOne.toNeg.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (NonAssocRing.toAddCommGroupWithOne.{u1} α _inst_2)))
 Case conversion may be inaccurate. Consider using '#align topological_semiring.has_continuous_neg_of_mul TopologicalSemiring.continuousNeg_of_mulₓ'. -/
 /-- If `R` is a ring with a continuous multiplication, then negation is continuous as well since it
 is just multiplication with `-1`. -/
@@ -535,7 +535,12 @@ theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β
   exact ht'
 #align ring_topology.coinduced_continuous RingTopology.coinduced_continuous
 
-#print RingTopology.toAddGroupTopology /-
+/- warning: ring_topology.to_add_group_topology -> RingTopology.toAddGroupTopology is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], (RingTopology.{u1} α _inst_1) -> (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], (RingTopology.{u1} α _inst_1) -> (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1)))
+Case conversion may be inaccurate. Consider using '#align ring_topology.to_add_group_topology RingTopology.toAddGroupTopologyₓ'. -/
 /-- The forgetful functor from ring topologies on `a` to additive group topologies on `a`. -/
 def toAddGroupTopology (t : RingTopology α) : AddGroupTopology α
     where
@@ -543,7 +548,6 @@ def toAddGroupTopology (t : RingTopology α) : AddGroupTopology α
   to_topologicalAddGroup :=
     @TopologicalRing.to_topologicalAddGroup _ _ t.toTopologicalSpace t.toTopologicalRing
 #align ring_topology.to_add_group_topology RingTopology.toAddGroupTopology
--/
 
 /- warning: ring_topology.to_add_group_topology.order_embedding -> RingTopology.toAddGroupTopology.orderEmbedding is a dubious translation:
 lean 3 declaration is
Diff
@@ -251,8 +251,7 @@ open AddOpposite
 
 instance [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [ContinuousMul α] : ContinuousMul αᵃᵒᵖ
     where continuous_mul := by
-    convert
-      continuous_op.comp <|
+    convert continuous_op.comp <|
         (@continuous_mul α _ _ _).comp <| continuous_unop.prod_map continuous_unop
 
 instance [NonUnitalNonAssocSemiring α] [TopologicalSpace α] [TopologicalSemiring α] :
Diff
@@ -333,7 +333,7 @@ variable [NonUnitalNonAssocRing α] [TopologicalRing α]
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _inst_1 (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α (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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
 Case conversion may be inaccurate. Consider using '#align mul_left_continuous mulLeft_continuousₓ'. -/
 /-- In a topological semiring, the left-multiplication `add_monoid_hom` is continuous. -/
 theorem mulLeft_continuous (x : α) : Continuous (AddMonoidHom.mulLeft x) :=
@@ -344,7 +344,7 @@ theorem mulLeft_continuous (x : α) : Continuous (AddMonoidHom.mulLeft x) :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _inst_1 (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α (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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
 Case conversion may be inaccurate. Consider using '#align mul_right_continuous mulRight_continuousₓ'. -/
 /-- In a topological semiring, the right-multiplication `add_monoid_hom` is continuous. -/
 theorem mulRight_continuous (x : α) : Continuous (AddMonoidHom.mulRight x) :=
@@ -565,7 +565,7 @@ section AbsoluteValue
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (fun (_x : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) => T -> R) (RingHom.hasCoeToFun.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T (fun (_x : T) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : T) => R) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonUnitalNonAssocSemiring.toMul.{u3} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T (fun (_x : T) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : T) => R) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonUnitalNonAssocSemiring.toMul.{u3} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
 Case conversion may be inaccurate. Consider using '#align absolute_value.comp AbsoluteValue.compₓ'. -/
 /-- Construct an absolute value on a semiring `T` from an absolute value on a semiring `R`
 and an injective ring homomorphism `f : T →+* R` -/
Diff
@@ -267,13 +267,13 @@ section
 
 variable {R : Type _} [NonUnitalNonAssocRing R] [TopologicalSpace R]
 
-/- warning: topological_ring.of_add_group_of_nhds_zero -> TopologicalRing.of_add_group_of_nhds_zero is a dubious translation:
+/- warning: topological_ring.of_add_group_of_nhds_zero -> TopologicalRing.of_addGroup_of_nhds_zero is a dubious translation:
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R] [_inst_3 : TopologicalAddGroup.{u1} R _inst_2 (AddCommGroup.toAddGroup.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1))], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1)
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R] [_inst_3 : TopologicalAddGroup.{u1} R _inst_2 (AddCommGroup.toAddGroup.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1))], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (fun (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.806 : R) (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.808 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.806 x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.808)) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1)
-Case conversion may be inaccurate. Consider using '#align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_add_group_of_nhds_zeroₓ'. -/
-theorem TopologicalRing.of_add_group_of_nhds_zero [TopologicalAddGroup R]
+Case conversion may be inaccurate. Consider using '#align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_addGroup_of_nhds_zeroₓ'. -/
+theorem TopologicalRing.of_addGroup_of_nhds_zero [TopologicalAddGroup R]
     (hmul : Tendsto (uncurry ((· * ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
     (hmul_left : ∀ x₀ : R, Tendsto (fun x : R => x₀ * x) (𝓝 0) <| 𝓝 0)
     (hmul_right : ∀ x₀ : R, Tendsto (fun x : R => x * x₀) (𝓝 0) <| 𝓝 0) : TopologicalRing R :=
@@ -302,7 +302,7 @@ theorem TopologicalRing.of_add_group_of_nhds_zero [TopologicalAddGroup R]
     · simp only [add_comm]
   refine' tendsto_map.comp (hadd.comp (tendsto.prod_mk _ hmul))
   exact hadd.comp (((hmul_right y₀).comp tendsto_fst).prod_mk ((hmul_left x₀).comp tendsto_snd))
-#align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_add_group_of_nhds_zero
+#align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_addGroup_of_nhds_zero
 
 /- warning: topological_ring.of_nhds_zero -> TopologicalRing.of_nhds_zero is a dubious translation:
 lean 3 declaration is
@@ -318,7 +318,7 @@ theorem TopologicalRing.of_nhds_zero
     (hmul_right : ∀ x₀ : R, Tendsto (fun x : R => x * x₀) (𝓝 0) <| 𝓝 0)
     (hleft : ∀ x₀ : R, 𝓝 x₀ = map (fun x => x₀ + x) (𝓝 0)) : TopologicalRing R :=
   haveI := TopologicalAddGroup.of_comm_of_nhds_zero hadd hneg hleft
-  TopologicalRing.of_add_group_of_nhds_zero hmul hmul_left hmul_right
+  TopologicalRing.of_addGroup_of_nhds_zero hmul hmul_left hmul_right
 #align topological_ring.of_nhds_zero TopologicalRing.of_nhds_zero
 
 end
@@ -554,7 +554,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align ring_topology.to_add_group_topology.order_embedding RingTopology.toAddGroupTopology.orderEmbeddingₓ'. -/
 /-- The order embedding from ring topologies on `a` to additive group topologies on `a`. -/
 def toAddGroupTopology.orderEmbedding : OrderEmbedding (RingTopology α) (AddGroupTopology α) :=
-  OrderEmbedding.ofMapLeIff toAddGroupTopology fun _ _ => Iff.rfl
+  OrderEmbedding.ofMapLEIff toAddGroupTopology fun _ _ => Iff.rfl
 #align ring_topology.to_add_group_topology.order_embedding RingTopology.toAddGroupTopology.orderEmbedding
 
 end RingTopology
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 topology.algebra.ring.basic
-! leanprover-community/mathlib commit 9a59dcb7a2d06bf55da57b9030169219980660cd
+! leanprover-community/mathlib commit f47581155c818e6361af4e4fda60d27d020c226b
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.Topology.Algebra.Group.Basic
 
 # Topological (semi)rings
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 A topological (semi)ring is a (semi)ring equipped with a topology such that all operations are
 continuous. Besides this definition, this file proves that the topological closure of a subring
 (resp. an ideal) is a subring (resp. an ideal) and defines products and quotients
Diff
@@ -562,7 +562,7 @@ section AbsoluteValue
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (fun (_x : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) => T -> R) (RingHom.hasCoeToFun.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T (fun (_x : T) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : T) => R) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonUnitalNonAssocSemiring.toMul.{u3} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T (fun (_x : T) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : T) => R) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonUnitalNonAssocSemiring.toMul.{u3} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
 Case conversion may be inaccurate. Consider using '#align absolute_value.comp AbsoluteValue.compₓ'. -/
 /-- Construct an absolute value on a semiring `T` from an absolute value on a semiring `R`
 and an injective ring homomorphism `f : T →+* R` -/
Diff
@@ -41,6 +41,7 @@ section TopologicalSemiring
 
 variable (α : Type _)
 
+#print TopologicalSemiring /-
 /-- a topological semiring is a semiring `R` where addition and multiplication are continuous.
 We allow for non-unital and non-associative semirings as well.
 
@@ -52,7 +53,9 @@ mathematically equivalent (see `topological_semiring.has_continuous_neg_of_mul`
 class TopologicalSemiring [TopologicalSpace α] [NonUnitalNonAssocSemiring α] extends
   ContinuousAdd α, ContinuousMul α : Prop
 #align topological_semiring TopologicalSemiring
+-/
 
+#print TopologicalRing /-
 /-- A topological ring is a ring `R` where addition, multiplication and negation are continuous.
 
 If `R` is a (unital) ring, then continuity of negation can be derived from continuity of
@@ -62,9 +65,16 @@ multiplication as it is multiplication with `-1`. (See
 class TopologicalRing [TopologicalSpace α] [NonUnitalNonAssocRing α] extends TopologicalSemiring α,
   ContinuousNeg α : Prop
 #align topological_ring TopologicalRing
+-/
 
 variable {α}
 
+/- warning: topological_semiring.has_continuous_neg_of_mul -> TopologicalSemiring.continuousNeg_of_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))))], ContinuousNeg.{u1} α _inst_1 (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α _inst_2))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonAssocRing.{u1} α] [_inst_3 : ContinuousMul.{u1} α _inst_1 (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α _inst_2))], ContinuousNeg.{u1} α _inst_1 (AddGroupWithOne.toNeg.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α _inst_2))
+Case conversion may be inaccurate. Consider using '#align topological_semiring.has_continuous_neg_of_mul TopologicalSemiring.continuousNeg_of_mulₓ'. -/
 /-- If `R` is a ring with a continuous multiplication, then negation is continuous as well since it
 is just multiplication with `-1`. -/
 theorem TopologicalSemiring.continuousNeg_of_mul [TopologicalSpace α] [NonAssocRing α]
@@ -74,32 +84,40 @@ theorem TopologicalSemiring.continuousNeg_of_mul [TopologicalSpace α] [NonAssoc
       simpa using (continuous_const.mul continuous_id : Continuous fun x : α => -1 * x) }
 #align topological_semiring.has_continuous_neg_of_mul TopologicalSemiring.continuousNeg_of_mul
 
+#print TopologicalSemiring.toTopologicalRing /-
 /-- If `R` is a ring which is a topological semiring, then it is automatically a topological
 ring. This exists so that one can place a topological ring structure on `R` without explicitly
 proving `continuous_neg`. -/
-theorem TopologicalSemiring.to_topologicalRing [TopologicalSpace α] [NonAssocRing α]
+theorem TopologicalSemiring.toTopologicalRing [TopologicalSpace α] [NonAssocRing α]
     (h : TopologicalSemiring α) : TopologicalRing α :=
   { h,
     (haveI := h.to_has_continuous_mul
       TopologicalSemiring.continuousNeg_of_mul :
       ContinuousNeg α) with }
-#align topological_semiring.to_topological_ring TopologicalSemiring.to_topologicalRing
+#align topological_semiring.to_topological_ring TopologicalSemiring.toTopologicalRing
+-/
 
+#print TopologicalRing.to_topologicalAddGroup /-
 -- See note [lower instance priority]
 instance (priority := 100) TopologicalRing.to_topologicalAddGroup [NonUnitalNonAssocRing α]
     [TopologicalSpace α] [TopologicalRing α] : TopologicalAddGroup α :=
   { TopologicalRing.to_topologicalSemiring.to_continuousAdd, TopologicalRing.to_continuousNeg with }
 #align topological_ring.to_topological_add_group TopologicalRing.to_topologicalAddGroup
+-/
 
+#print DiscreteTopology.topologicalSemiring /-
 instance (priority := 50) DiscreteTopology.topologicalSemiring [TopologicalSpace α]
     [NonUnitalNonAssocSemiring α] [DiscreteTopology α] : TopologicalSemiring α :=
   ⟨⟩
 #align discrete_topology.topological_semiring DiscreteTopology.topologicalSemiring
+-/
 
+#print DiscreteTopology.topologicalRing /-
 instance (priority := 50) DiscreteTopology.topologicalRing [TopologicalSpace α]
     [NonUnitalNonAssocRing α] [DiscreteTopology α] : TopologicalRing α :=
   ⟨⟩
 #align discrete_topology.topological_ring DiscreteTopology.topologicalRing
+-/
 
 section
 
@@ -112,32 +130,64 @@ instance (S : Subsemiring α) : TopologicalSemiring S :=
 
 end Subsemiring
 
+#print Subsemiring.topologicalClosure /-
 /-- The (topological-space) closure of a subsemiring of a topological semiring is
 itself a subsemiring. -/
 def Subsemiring.topologicalClosure (s : Subsemiring α) : Subsemiring α :=
   { s.toSubmonoid.topologicalClosure, s.toAddSubmonoid.topologicalClosure with
     carrier := closure (s : Set α) }
 #align subsemiring.topological_closure Subsemiring.topologicalClosure
+-/
 
+/- warning: subsemiring.topological_closure_coe -> Subsemiring.topologicalClosure_coe is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), Eq.{succ u1} (Set.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)) (closure.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), Eq.{succ u1} (Set.{u1} α) (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)) (closure.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) s))
+Case conversion may be inaccurate. Consider using '#align subsemiring.topological_closure_coe Subsemiring.topologicalClosure_coeₓ'. -/
 @[simp]
 theorem Subsemiring.topologicalClosure_coe (s : Subsemiring α) :
     (s.topologicalClosure : Set α) = closure (s : Set α) :=
   rfl
 #align subsemiring.topological_closure_coe Subsemiring.topologicalClosure_coe
 
+/- warning: subsemiring.le_topological_closure -> Subsemiring.le_topologicalClosure is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) s (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
+Case conversion may be inaccurate. Consider using '#align subsemiring.le_topological_closure Subsemiring.le_topologicalClosureₓ'. -/
 theorem Subsemiring.le_topologicalClosure (s : Subsemiring α) : s ≤ s.topologicalClosure :=
   subset_closure
 #align subsemiring.le_topological_closure Subsemiring.le_topologicalClosure
 
+/- warning: subsemiring.is_closed_topological_closure -> Subsemiring.isClosed_topologicalClosure is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))
+Case conversion may be inaccurate. Consider using '#align subsemiring.is_closed_topological_closure Subsemiring.isClosed_topologicalClosureₓ'. -/
 theorem Subsemiring.isClosed_topologicalClosure (s : Subsemiring α) :
     IsClosed (s.topologicalClosure : Set α) := by convert isClosed_closure
 #align subsemiring.is_closed_topological_closure Subsemiring.isClosed_topologicalClosure
 
+/- warning: subsemiring.topological_closure_minimal -> Subsemiring.topologicalClosure_minimal is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) {t : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)}, (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) s t) -> (IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) t)) -> (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.partialOrder.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) {t : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)}, (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) s t) -> (IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) t)) -> (LE.le.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Preorder.toLE.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (PartialOrder.toPreorder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.instCompleteLatticeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
+Case conversion may be inaccurate. Consider using '#align subsemiring.topological_closure_minimal Subsemiring.topologicalClosure_minimalₓ'. -/
 theorem Subsemiring.topologicalClosure_minimal (s : Subsemiring α) {t : Subsemiring α} (h : s ≤ t)
     (ht : IsClosed (t : Set α)) : s.topologicalClosure ≤ t :=
   closure_minimal h ht
 #align subsemiring.topological_closure_minimal Subsemiring.topologicalClosure_minimal
 
+/- warning: subsemiring.comm_semiring_topological_closure -> Subsemiring.commSemiringTopologicalClosure is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), (forall (x : coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (y : coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (MulMemClass.mul.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))) (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.commSemiringTopologicalClosure._proof_1.{u1} α _inst_2) s)) x y) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) s) (MulMemClass.mul.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)))) (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (Subsemiring.commSemiringTopologicalClosure._proof_1.{u1} α _inst_2) s)) y x)) -> (CommSemiring.{u1} (coeSort.{succ u1, succ (succ u1)} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.setLike.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Semiring.{u1} α] [_inst_3 : TopologicalSemiring.{u1} α _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)), (forall (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (y : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)), Eq.{succ u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) (Subsemiring.toSubmonoid.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2) s))) x y) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) (Subsemiring.toSubmonoid.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2) s))) y x)) -> (CommSemiring.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) (SetLike.instMembership.{u1, u1} (Subsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2)) α (Subsemiring.instSetLikeSubsemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_2))) x (Subsemiring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))))
+Case conversion may be inaccurate. Consider using '#align subsemiring.comm_semiring_topological_closure Subsemiring.commSemiringTopologicalClosureₓ'. -/
 /-- If a subsemiring of a topological semiring is commutative, then so is its
 topological closure. -/
 def Subsemiring.commSemiringTopologicalClosure [T2Space α] (s : Subsemiring α)
@@ -214,6 +264,12 @@ section
 
 variable {R : Type _} [NonUnitalNonAssocRing R] [TopologicalSpace R]
 
+/- warning: topological_ring.of_add_group_of_nhds_zero -> TopologicalRing.of_add_group_of_nhds_zero is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R] [_inst_3 : TopologicalAddGroup.{u1} R _inst_2 (AddCommGroup.toAddGroup.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1))], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R] [_inst_3 : TopologicalAddGroup.{u1} R _inst_2 (AddCommGroup.toAddGroup.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1))], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (fun (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.806 : R) (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.808 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.806 x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.808)) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1)
+Case conversion may be inaccurate. Consider using '#align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_add_group_of_nhds_zeroₓ'. -/
 theorem TopologicalRing.of_add_group_of_nhds_zero [TopologicalAddGroup R]
     (hmul : Tendsto (uncurry ((· * ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
     (hmul_left : ∀ x₀ : R, Tendsto (fun x : R => x₀ * x) (𝓝 0) <| 𝓝 0)
@@ -245,6 +301,12 @@ theorem TopologicalRing.of_add_group_of_nhds_zero [TopologicalAddGroup R]
   exact hadd.comp (((hmul_right y₀).comp tendsto_fst).prod_mk ((hmul_left x₀).comp tendsto_snd))
 #align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_add_group_of_nhds_zero
 
+/- warning: topological_ring.of_nhds_zero -> TopologicalRing.of_nhds_zero is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} R R (fun (x : R) => Neg.neg.{u1} R (SubNegMonoid.toHasNeg.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddCommGroup.toAddGroup.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1)))) x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (forall (x₀ : R), Eq.{succ u1} (Filter.{u1} R) (nhds.{u1} R _inst_2 x₀) (Filter.map.{u1, u1} R R (fun (x : R) => HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : NonUnitalNonAssocRing.{u1} R] [_inst_2 : TopologicalSpace.{u1} R], (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (fun (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.975 : R) (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.977 : R) => HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.975 x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.977)) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (Filter.Tendsto.{u1, u1} R R (fun (x : R) => Neg.neg.{u1} R (NegZeroClass.toNeg.{u1} R (SubNegZeroMonoid.toNegZeroClass.{u1} R (SubtractionMonoid.toSubNegZeroMonoid.{u1} R (SubtractionCommMonoid.toSubtractionMonoid.{u1} R (AddCommGroup.toDivisionAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toAddCommGroup.{u1} R _inst_1)))))) x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (Filter.Tendsto.{u1, u1} (Prod.{u1, u1} R R) R (Function.uncurry.{u1, u1, u1} R R R (fun (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1059 : R) (x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1061 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1059 x._@.Mathlib.Topology.Algebra.Ring.Basic._hyg.1061)) (Filter.prod.{u1, u1} R R (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Filter.Tendsto.{u1, u1} R R (fun (x : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R _inst_1)) x x₀) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1))))))) -> (forall (x₀ : R), Eq.{succ u1} (Filter.{u1} R) (nhds.{u1} R _inst_2 x₀) (Filter.map.{u1, u1} R R (fun (x : R) => HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))) x₀ x) (nhds.{u1} R _inst_2 (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MulZeroClass.toZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R _inst_1)))))))) -> (TopologicalRing.{u1} R _inst_2 _inst_1)
+Case conversion may be inaccurate. Consider using '#align topological_ring.of_nhds_zero TopologicalRing.of_nhds_zeroₓ'. -/
 theorem TopologicalRing.of_nhds_zero
     (hadd : Tendsto (uncurry ((· + ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
     (hneg : Tendsto (fun x => -x : R → R) (𝓝 0) (𝓝 0))
@@ -264,11 +326,23 @@ section
 
 variable [NonUnitalNonAssocRing α] [TopologicalRing α]
 
+/- warning: mul_left_continuous -> mulLeft_continuous is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _inst_1 (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))))) (AddMonoidHom.mulLeft.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
+Case conversion may be inaccurate. Consider using '#align mul_left_continuous mulLeft_continuousₓ'. -/
 /-- In a topological semiring, the left-multiplication `add_monoid_hom` is continuous. -/
 theorem mulLeft_continuous (x : α) : Continuous (AddMonoidHom.mulLeft x) :=
   continuous_const.mul continuous_id
 #align mul_left_continuous mulLeft_continuous
 
+/- warning: mul_right_continuous -> mulRight_continuous is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _inst_1 (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (fun (_x : AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) => α -> α) (AddMonoidHom.hasCoeToFun.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : NonUnitalNonAssocRing.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 _inst_2] (x : α), Continuous.{u1, u1} α α _inst_1 _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} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => α) _x) (AddHomClass.toFunLike.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddZeroClass.toAdd.{u1} α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) (AddMonoidHomClass.toAddHomClass.{u1, u1, u1} (AddMonoidHom.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))) α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u1, u1} α α (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2)))) (AddMonoid.toAddZeroClass.{u1} α (AddCommMonoid.toAddMonoid.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2))))))) (AddMonoidHom.mulRight.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α _inst_2) x))
+Case conversion may be inaccurate. Consider using '#align mul_right_continuous mulRight_continuousₓ'. -/
 /-- In a topological semiring, the right-multiplication `add_monoid_hom` is continuous. -/
 theorem mulRight_continuous (x : α) : Continuous (AddMonoidHom.mulRight x) :=
   continuous_id.mul continuous_const
@@ -281,30 +355,56 @@ variable [Ring α] [TopologicalRing α]
 namespace Subring
 
 instance (S : Subring α) : TopologicalRing S :=
-  TopologicalSemiring.to_topologicalRing S.toSubsemiring.TopologicalSemiring
+  TopologicalSemiring.toTopologicalRing S.toSubsemiring.TopologicalSemiring
 
 end Subring
 
+#print Subring.topologicalClosure /-
 /-- The (topological-space) closure of a subring of a topological ring is
 itself a subring. -/
 def Subring.topologicalClosure (S : Subring α) : Subring α :=
   { S.toSubmonoid.topologicalClosure, S.toAddSubgroup.topologicalClosure with
     carrier := closure (S : Set α) }
 #align subring.topological_closure Subring.topologicalClosure
+-/
 
+/- warning: subring.le_topological_closure -> Subring.le_topologicalClosure is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) s (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) s (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)
+Case conversion may be inaccurate. Consider using '#align subring.le_topological_closure Subring.le_topologicalClosureₓ'. -/
 theorem Subring.le_topologicalClosure (s : Subring α) : s ≤ s.topologicalClosure :=
   subset_closure
 #align subring.le_topological_closure Subring.le_topologicalClosure
 
+/- warning: subring.is_closed_topological_closure -> Subring.isClosed_topologicalClosure is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subring.{u1} α _inst_2) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2), IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))
+Case conversion may be inaccurate. Consider using '#align subring.is_closed_topological_closure Subring.isClosed_topologicalClosureₓ'. -/
 theorem Subring.isClosed_topologicalClosure (s : Subring α) :
     IsClosed (s.topologicalClosure : Set α) := by convert isClosed_closure
 #align subring.is_closed_topological_closure Subring.isClosed_topologicalClosure
 
+/- warning: subring.topological_closure_minimal -> Subring.topologicalClosure_minimal is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2) {t : Subring.{u1} α _inst_2}, (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) s t) -> (IsClosed.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subring.{u1} α _inst_2) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Subring.{u1} α _inst_2) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) t)) -> (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (SetLike.partialOrder.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] (s : Subring.{u1} α _inst_2) {t : Subring.{u1} α _inst_2}, (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) s t) -> (IsClosed.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2) t)) -> (LE.le.{u1} (Subring.{u1} α _inst_2) (Preorder.toLE.{u1} (Subring.{u1} α _inst_2) (PartialOrder.toPreorder.{u1} (Subring.{u1} α _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u1} (Subring.{u1} α _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Subring.{u1} α _inst_2) (Subring.instCompleteLatticeSubring.{u1} α _inst_2))))) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s) t)
+Case conversion may be inaccurate. Consider using '#align subring.topological_closure_minimal Subring.topologicalClosure_minimalₓ'. -/
 theorem Subring.topologicalClosure_minimal (s : Subring α) {t : Subring α} (h : s ≤ t)
     (ht : IsClosed (t : Set α)) : s.topologicalClosure ≤ t :=
   closure_minimal h ht
 #align subring.topological_closure_minimal Subring.topologicalClosure_minimal
 
+/- warning: subring.comm_ring_topological_closure -> Subring.commRingTopologicalClosure is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subring.{u1} α _inst_2), (forall (x : coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (y : coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s), Eq.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (MulMemClass.mul.{u1, u1} α (Subring.{u1} α _inst_2) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))))) (Subring.setLike.{u1} α _inst_2) (Subring.commRingTopologicalClosure._proof_1.{u1} α _inst_2) s)) x y) (HMul.hMul.{u1, u1, u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (instHMul.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) s) (MulMemClass.mul.{u1, u1} α (Subring.{u1} α _inst_2) (MulOneClass.toHasMul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))))) (Subring.setLike.{u1} α _inst_2) (Subring.commRingTopologicalClosure._proof_1.{u1} α _inst_2) s)) y x)) -> (CommRing.{u1} (coeSort.{succ u1, succ (succ u1)} (Subring.{u1} α _inst_2) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.setLike.{u1} α _inst_2)) (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s)))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u1} α] [_inst_3 : TopologicalRing.{u1} α _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2))] [_inst_4 : T2Space.{u1} α _inst_1] (s : Subring.{u1} α _inst_2), (forall (x : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (y : Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)), Eq.{succ u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)))) (Subsemiring.toSubmonoid.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)) (Subring.toSubsemiring.{u1} α _inst_2 s)))) x y) (HMul.hMul.{u1, u1, u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (instHMul.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x s)) (Submonoid.mul.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α (NonAssocSemiring.toMulZeroOneClass.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)))) (Subsemiring.toSubmonoid.{u1} α (NonAssocRing.toNonAssocSemiring.{u1} α (Ring.toNonAssocRing.{u1} α _inst_2)) (Subring.toSubsemiring.{u1} α _inst_2 s)))) y x)) -> (CommRing.{u1} (Subtype.{succ u1} α (fun (x : α) => Membership.mem.{u1, u1} α (Subring.{u1} α _inst_2) (SetLike.instMembership.{u1, u1} (Subring.{u1} α _inst_2) α (Subring.instSetLikeSubring.{u1} α _inst_2)) x (Subring.topologicalClosure.{u1} α _inst_1 _inst_2 _inst_3 s))))
+Case conversion may be inaccurate. Consider using '#align subring.comm_ring_topological_closure Subring.commRingTopologicalClosureₓ'. -/
 /-- If a subring of a topological ring is commutative, then so is its topological closure. -/
 def Subring.commRingTopologicalClosure [T2Space α] (s : Subring α) (hs : ∀ x y : s, x * y = y * x) :
     CommRing s.topologicalClosure :=
@@ -326,29 +426,35 @@ Any function `f : α → β` induces `coinduced f : topological_space α → rin
 
 universe u v
 
+#print RingTopology /-
 /-- A ring topology on a ring `α` is a topology for which addition, negation and multiplication
 are continuous. -/
 @[ext]
 structure RingTopology (α : Type u) [Ring α] extends TopologicalSpace α, TopologicalRing α : Type u
 #align ring_topology RingTopology
+-/
 
 namespace RingTopology
 
 variable {α : Type _} [Ring α]
 
+#print RingTopology.inhabited /-
 instance inhabited {α : Type u} [Ring α] : Inhabited (RingTopology α) :=
   ⟨{  toTopologicalSpace := ⊤
       continuous_add := continuous_top
       continuous_mul := continuous_top
       continuous_neg := continuous_top }⟩
 #align ring_topology.inhabited RingTopology.inhabited
+-/
 
+#print RingTopology.ext /-
 @[ext]
-theorem ext' {f g : RingTopology α} (h : f.IsOpen = g.IsOpen) : f = g :=
+theorem ext {f g : RingTopology α} (h : f.IsOpen = g.IsOpen) : f = g :=
   by
   ext : 2
   exact h
-#align ring_topology.ext' RingTopology.ext'
+#align ring_topology.ext' RingTopology.ext
+-/
 
 /-- The ordering on ring topologies on the ring `α`.
   `t ≤ s` if every set open in `s` is also open in `t` (`t` is finer than `s`). -/
@@ -404,12 +510,20 @@ instance : CompleteSemilatticeInf (RingTopology α) :=
 instance : CompleteLattice (RingTopology α) :=
   completeLatticeOfCompleteSemilatticeInf _
 
+#print RingTopology.coinduced /-
 /-- Given `f : α → β` and a topology on `α`, the coinduced ring topology on `β` is the finest
 topology such that `f` is continuous and `β` is a topological ring. -/
 def coinduced {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) : RingTopology β :=
   infₛ { b : RingTopology β | TopologicalSpace.coinduced f t ≤ b.toTopologicalSpace }
 #align ring_topology.coinduced RingTopology.coinduced
+-/
 
+/- warning: ring_topology.coinduced_continuous -> RingTopology.coinduced_continuous is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} [t : TopologicalSpace.{u1} α] [_inst_2 : Ring.{u2} β] (f : α -> β), Continuous.{u1, u2} α β t (RingTopology.toTopologicalSpace.{u2} β _inst_2 (RingTopology.coinduced.{u1, u2} α β t _inst_2 f)) f
+but is expected to have type
+  forall {α : Type.{u2}} {β : Type.{u1}} [t : TopologicalSpace.{u2} α] [_inst_2 : Ring.{u1} β] (f : α -> β), Continuous.{u2, u1} α β t (RingTopology.toTopologicalSpace.{u1} β _inst_2 (RingTopology.coinduced.{u2, u1} α β t _inst_2 f)) f
+Case conversion may be inaccurate. Consider using '#align ring_topology.coinduced_continuous RingTopology.coinduced_continuousₓ'. -/
 theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) :
     cont t (coinduced f).toTopologicalSpace f :=
   by
@@ -419,14 +533,22 @@ theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β
   exact ht'
 #align ring_topology.coinduced_continuous RingTopology.coinduced_continuous
 
+#print RingTopology.toAddGroupTopology /-
 /-- The forgetful functor from ring topologies on `a` to additive group topologies on `a`. -/
 def toAddGroupTopology (t : RingTopology α) : AddGroupTopology α
     where
   toTopologicalSpace := t.toTopologicalSpace
   to_topologicalAddGroup :=
-    @TopologicalRing.to_topologicalAddGroup _ _ t.toTopologicalSpace t.to_topologicalRing
+    @TopologicalRing.to_topologicalAddGroup _ _ t.toTopologicalSpace t.toTopologicalRing
 #align ring_topology.to_add_group_topology RingTopology.toAddGroupTopology
+-/
 
+/- warning: ring_topology.to_add_group_topology.order_embedding -> RingTopology.toAddGroupTopology.orderEmbedding is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) (Preorder.toLE.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.partialOrder.{u1} α _inst_1))) (Preorder.toLE.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) (AddGroupTopology.partialOrder.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1))))))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α], OrderEmbedding.{u1, u1} (RingTopology.{u1} α _inst_1) (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (Preorder.toLE.{u1} (RingTopology.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (RingTopology.{u1} α _inst_1) (RingTopology.instPartialOrderRingTopology.{u1} α _inst_1))) (Preorder.toLE.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (PartialOrder.toPreorder.{u1} (AddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1))) (AddGroupTopology.instPartialOrderAddGroupTopology.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (Ring.toAddGroupWithOne.{u1} α _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align ring_topology.to_add_group_topology.order_embedding RingTopology.toAddGroupTopology.orderEmbeddingₓ'. -/
 /-- The order embedding from ring topologies on `a` to additive group topologies on `a`. -/
 def toAddGroupTopology.orderEmbedding : OrderEmbedding (RingTopology α) (AddGroupTopology α) :=
   OrderEmbedding.ofMapLeIff toAddGroupTopology fun _ _ => Iff.rfl
@@ -436,6 +558,12 @@ end RingTopology
 
 section AbsoluteValue
 
+/- warning: absolute_value.comp -> AbsoluteValue.comp is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (fun (_x : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) => T -> R) (RingHom.hasCoeToFun.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u3} T] [_inst_2 : Semiring.{u1} R] [_inst_3 : OrderedSemiring.{u2} S], (AbsoluteValue.{u1, u2} R S _inst_2 _inst_3) -> (forall {f : RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)}, (Function.Injective.{succ u3, succ u1} T R (FunLike.coe.{max (succ u1) (succ u3), succ u3, succ u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T (fun (_x : T) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : T) => R) _x) (MulHomClass.toFunLike.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonUnitalNonAssocSemiring.toMul.{u3} T (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} T (Semiring.toNonAssocSemiring.{u3} T _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u3, u3, u1} (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2)) T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_2))))) f)) -> (AbsoluteValue.{u3, u2} T S _inst_1 _inst_3))
+Case conversion may be inaccurate. Consider using '#align absolute_value.comp AbsoluteValue.compₓ'. -/
 /-- Construct an absolute value on a semiring `T` from an absolute value on a semiring `R`
 and an injective ring homomorphism `f : T →+* R` -/
 def AbsoluteValue.comp {R S T : Type _} [Semiring T] [Semiring R] [OrderedSemiring S]
Diff
@@ -3,13 +3,12 @@ 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 topology.algebra.ring
-! leanprover-community/mathlib commit bcfa726826abd57587355b4b5b7e78ad6527b7e4
+! This file was ported from Lean 3 source module topology.algebra.ring.basic
+! leanprover-community/mathlib commit 9a59dcb7a2d06bf55da57b9030169219980660cd
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Ring.Prod
-import Mathbin.RingTheory.Ideal.Quotient
 import Mathbin.RingTheory.Subring.Basic
 import Mathbin.Topology.Algebra.Group.Basic
 
@@ -30,9 +29,6 @@ of topological (semi)rings.
   (semi)rings.
 - `pi.topological_semiring`/`pi.topological_ring`: The arbitrary product of topological
   (semi)rings.
-- `ideal.closure`: The closure of an ideal is an ideal.
-- `topological_ring_quotient`: The quotient of a topological semiring by an ideal is a
-  topological ring.
 
 -/
 
@@ -317,72 +313,6 @@ def Subring.commRingTopologicalClosure [T2Space α] (s : Subring α) (hs : ∀ x
 
 end TopologicalSemiring
 
-section TopologicalRing
-
-variable {α : Type _} [TopologicalSpace α] [Ring α] [TopologicalRing α]
-
-/-- The closure of an ideal in a topological ring as an ideal. -/
-def Ideal.closure (S : Ideal α) : Ideal α :=
-  {
-    AddSubmonoid.topologicalClosure
-      S.toAddSubmonoid with
-    carrier := closure S
-    smul_mem' := fun c x hx => map_mem_closure (mulLeft_continuous _) hx fun a => S.mul_mem_left c }
-#align ideal.closure Ideal.closure
-
-@[simp]
-theorem Ideal.coe_closure (S : Ideal α) : (S.closure : Set α) = closure S :=
-  rfl
-#align ideal.coe_closure Ideal.coe_closure
-
-@[simp]
-theorem Ideal.closure_eq_of_isClosed (S : Ideal α) [hS : IsClosed (S : Set α)] : S.closure = S :=
-  Ideal.ext <| Set.ext_iff.mp hS.closure_eq
-#align ideal.closure_eq_of_is_closed Ideal.closure_eq_of_isClosed
-
-end TopologicalRing
-
-section TopologicalRing
-
-variable {α : Type _} [TopologicalSpace α] [CommRing α] (N : Ideal α)
-
-open Ideal.Quotient
-
-instance topologicalRingQuotientTopology : TopologicalSpace (α ⧸ N) :=
-  show TopologicalSpace (Quotient _) by infer_instance
-#align topological_ring_quotient_topology topologicalRingQuotientTopology
-
--- note for the reader: in the following, `mk` is `ideal.quotient.mk`, the canonical map `R → R/I`.
-variable [TopologicalRing α]
-
-theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
-  by
-  intro s s_op
-  change IsOpen (mk N ⁻¹' (mk N '' s))
-  rw [quotient_ring_saturate]
-  exact isOpen_unionᵢ fun ⟨n, _⟩ => isOpenMap_add_left n s s_op
-#align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coe
-
-theorem QuotientRing.quotientMap_coe_coe : QuotientMap fun p : α × α => (mk N p.1, mk N p.2) :=
-  IsOpenMap.to_quotientMap ((QuotientRing.isOpenMap_coe N).Prod (QuotientRing.isOpenMap_coe N))
-    ((continuous_quot_mk.comp continuous_fst).prod_mk (continuous_quot_mk.comp continuous_snd))
-    (by rintro ⟨⟨x⟩, ⟨y⟩⟩ <;> exact ⟨(x, y), rfl⟩)
-#align quotient_ring.quotient_map_coe_coe QuotientRing.quotientMap_coe_coe
-
-instance topologicalRing_quotient : TopologicalRing (α ⧸ N) :=
-  TopologicalSemiring.to_topologicalRing
-    { continuous_add :=
-        have cont : Continuous (mk N ∘ fun p : α × α => p.fst + p.snd) :=
-          continuous_quot_mk.comp continuous_add
-        (QuotientMap.continuous_iff (QuotientRing.quotientMap_coe_coe N)).mpr cont
-      continuous_mul :=
-        have cont : Continuous (mk N ∘ fun p : α × α => p.fst * p.snd) :=
-          continuous_quot_mk.comp continuous_mul
-        (QuotientMap.continuous_iff (QuotientRing.quotientMap_coe_coe N)).mpr cont }
-#align topological_ring_quotient topologicalRing_quotient
-
-end TopologicalRing
-
 /-!
 ### Lattice of ring topologies
 We define a type class `ring_topology α` which endows a ring `α` with a topology such that all ring

Changes in mathlib4

mathlib3
mathlib4
chore: Sort big operator order lemmas (#11750)

Take the content of

  • some of Algebra.BigOperators.List.Basic
  • some of Algebra.BigOperators.List.Lemmas
  • some of Algebra.BigOperators.Multiset.Basic
  • some of Algebra.BigOperators.Multiset.Lemmas
  • Algebra.BigOperators.Multiset.Order
  • Algebra.BigOperators.Order

and sort it into six files:

Here are the design decisions at play:

  • Pure algebra and big operators algebra shouldn't import (algebraic) order theory. This PR makes that better, but not perfect because we still import Data.Nat.Order.Basic in a few List files.
  • It's Algebra.Order.BigOperators instead of Algebra.BigOperators.Order because algebraic order theory is more of a theory than big operators algebra. Another reason is that algebraic order theory is the only way to mix pure order and pure algebra, while there are more ways to mix pure finiteness and pure algebra than just big operators.
  • There are separate files for group/monoid lemmas vs ring lemmas. Groups/monoids are the natural setup for big operators, so their lemmas shouldn't be mixed with ring lemmas that involves both addition and multiplication. As a result, everything under Algebra.Order.BigOperators.Group should be additivisable (except a few Nat- or Int-specific lemmas). In contrast, things under Algebra.Order.BigOperators.Ring are more prone to having heavy imports.
  • Lemmas are separated according to List vs Multiset vs Finset. This is not strictly necessary, and can be relaxed in cases where there aren't that many lemmas to be had. As an example, I could split out the AbsoluteValue lemmas from Algebra.Order.BigOperators.Ring.Finset to a file Algebra.Order.BigOperators.Ring.AbsoluteValue and it could stay this way until too many lemmas are in this file (or a split is needed for import reasons), in which case we would need files Algebra.Order.BigOperators.Ring.AbsoluteValue.Finset, Algebra.Order.BigOperators.Ring.AbsoluteValue.Multiset, etc...
  • Finsupp big operator and finprod/finsum order lemmas also belong in Algebra.Order.BigOperators. I haven't done so in this PR because the diff is big enough like that.
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.Order.AbsoluteValue
 import Mathlib.Algebra.Ring.Prod
 import Mathlib.RingTheory.Subring.Basic
 import Mathlib.Topology.Algebra.Group.Basic
feat: instances for actions of ulifted spaces (#11777)
Diff
@@ -90,6 +90,8 @@ section
 
 variable [TopologicalSpace α] [Semiring α] [TopologicalSemiring α]
 
+instance : TopologicalSemiring (ULift α) where
+
 namespace Subsemiring
 
 -- Porting note: named instance because generated name was huge
@@ -226,6 +228,8 @@ section
 
 variable [NonUnitalNonAssocRing α] [TopologicalRing α]
 
+instance : TopologicalRing (ULift α) where
+
 /-- In a topological semiring, the left-multiplication `AddMonoidHom` is continuous. -/
 theorem mulLeft_continuous (x : α) : Continuous (AddMonoidHom.mulLeft x) :=
   continuous_const.mul continuous_id
chore: Remove ball and bex from lemma names (#10816)

ball for "bounded forall" and bex for "bounded exists" are from experience very confusing abbreviations. This PR renames them to forall_mem and exists_mem in the few Set lemma names that mention them.

Also deprecate ball_image_of_ball, mem_image_elim, mem_image_elim_on since those lemmas are duplicates of the renamed lemmas (apart from argument order and implicitness, which I am also fixing by making the binder in the RHS of forall_mem_image semi-implicit), have obscure names and are completely unused.

Diff
@@ -316,11 +316,11 @@ instance : PartialOrder (RingTopology α) :=
 
 private def def_sInf (S : Set (RingTopology α)) : RingTopology α :=
   let _ := sInf (toTopologicalSpace '' S)
-  { toContinuousAdd := continuousAdd_sInf <| ball_image_iff.2 fun t _ =>
+  { toContinuousAdd := continuousAdd_sInf <| forall_mem_image.2 fun t _ =>
       let _ := t.1; t.toContinuousAdd
-    toContinuousMul := continuousMul_sInf <| ball_image_iff.2 fun t _ =>
+    toContinuousMul := continuousMul_sInf <| forall_mem_image.2 fun t _ =>
       let _ := t.1; t.toContinuousMul
-    toContinuousNeg := continuousNeg_sInf <| ball_image_iff.2 fun t _ =>
+    toContinuousNeg := continuousNeg_sInf <| forall_mem_image.2 fun t _ =>
       let _ := t.1; t.toContinuousNeg }
 
 /-- Ring topologies on `α` form a complete lattice, with `⊥` the discrete topology and `⊤` the
@@ -334,7 +334,7 @@ contained in the intersection of `s` and `t`. -/
 instance : CompleteSemilatticeInf (RingTopology α) where
   sInf := def_sInf
   sInf_le := fun _ a haS => sInf_le (α := TopologicalSpace α) ⟨a, ⟨haS, rfl⟩⟩
-  le_sInf := fun _ _ h => le_sInf (α := TopologicalSpace α) <| ball_image_iff.2 h
+  le_sInf := fun _ _ h => le_sInf (α := TopologicalSpace α) <| forall_mem_image.2 h
 
 instance : CompleteLattice (RingTopology α) :=
   completeLatticeOfCompleteSemilatticeInf _
@@ -347,7 +347,7 @@ def coinduced {α β : Type*} [t : TopologicalSpace α] [Ring β] (f : α → β
 
 theorem coinduced_continuous {α β : Type*} [t : TopologicalSpace α] [Ring β] (f : α → β) :
     Continuous[t, (coinduced f).toTopologicalSpace] f :=
-  continuous_sInf_rng.2 <| ball_image_iff.2 fun _ => continuous_iff_coinduced_le.2
+  continuous_sInf_rng.2 <| forall_mem_image.2 fun _ => continuous_iff_coinduced_le.2
 #align ring_topology.coinduced_continuous RingTopology.coinduced_continuous
 
 /-- The forgetful functor from ring topologies on `a` to additive group topologies on `a`. -/
chore: more predictable ext lemmas for TopologicalSpace and UniformSpace (#6705)
Diff
@@ -306,7 +306,7 @@ theorem toTopologicalSpace_injective :
 
 @[ext]
 theorem ext {f g : RingTopology α} (h : f.IsOpen = g.IsOpen) : f = g :=
-  toTopologicalSpace_injective <| topologicalSpace_eq h
+  toTopologicalSpace_injective <| TopologicalSpace.ext h
 #align ring_topology.ext' RingTopology.ext
 
 /-- The ordering on ring topologies on the ring `α`.
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
@@ -31,7 +31,7 @@ open Set Filter TopologicalSpace Function Topology Filter
 
 section TopologicalSemiring
 
-variable (α : Type _)
+variable (α : Type*)
 
 /-- a topological semiring is a semiring `R` where addition and multiplication are continuous.
 We allow for non-unital and non-associative semirings as well.
@@ -135,7 +135,7 @@ end
 
 section
 
-variable {β : Type _} [TopologicalSpace α] [TopologicalSpace β]
+variable {β : Type*} [TopologicalSpace α] [TopologicalSpace β]
 
 /-- The product topology on the cartesian product of two topological semirings
   makes the product into a topological semiring. -/
@@ -149,12 +149,12 @@ instance [NonUnitalNonAssocRing α] [NonUnitalNonAssocRing β] [TopologicalRing
 
 end
 
-instance Pi.instTopologicalSemiring {β : Type _} {C : β → Type _} [∀ b, TopologicalSpace (C b)]
+instance Pi.instTopologicalSemiring {β : Type*} {C : β → Type*} [∀ b, TopologicalSpace (C b)]
     [∀ b, NonUnitalNonAssocSemiring (C b)] [∀ b, TopologicalSemiring (C b)] :
     TopologicalSemiring (∀ b, C b) where
 #align pi.topological_semiring Pi.instTopologicalSemiring
 
-instance Pi.instTopologicalRing {β : Type _} {C : β → Type _} [∀ b, TopologicalSpace (C b)]
+instance Pi.instTopologicalRing {β : Type*} {C : β → Type*} [∀ b, TopologicalSpace (C b)]
     [∀ b, NonUnitalNonAssocRing (C b)] [∀ b, TopologicalRing (C b)] :
     TopologicalRing (∀ b, C b) := ⟨⟩
 #align pi.topological_ring Pi.instTopologicalRing
@@ -196,7 +196,7 @@ end AddOpposite
 
 section
 
-variable {R : Type _} [NonUnitalNonAssocRing R] [TopologicalSpace R]
+variable {R : Type*} [NonUnitalNonAssocRing R] [TopologicalSpace R]
 
 theorem TopologicalRing.of_addGroup_of_nhds_zero [TopologicalAddGroup R]
     (hmul : Tendsto (uncurry ((· * ·) : R → R → R)) (𝓝 0 ×ˢ 𝓝 0) <| 𝓝 0)
@@ -291,7 +291,7 @@ structure RingTopology (α : Type u) [Ring α] extends TopologicalSpace α, Topo
 
 namespace RingTopology
 
-variable {α : Type _} [Ring α]
+variable {α : Type*} [Ring α]
 
 instance inhabited {α : Type u} [Ring α] : Inhabited (RingTopology α) :=
   ⟨let _ : TopologicalSpace α := ⊤;
@@ -341,11 +341,11 @@ instance : CompleteLattice (RingTopology α) :=
 
 /-- Given `f : α → β` and a topology on `α`, the coinduced ring topology on `β` is the finest
 topology such that `f` is continuous and `β` is a topological ring. -/
-def coinduced {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) : RingTopology β :=
+def coinduced {α β : Type*} [t : TopologicalSpace α] [Ring β] (f : α → β) : RingTopology β :=
   sInf { b : RingTopology β | t.coinduced f ≤ b.toTopologicalSpace }
 #align ring_topology.coinduced RingTopology.coinduced
 
-theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) :
+theorem coinduced_continuous {α β : Type*} [t : TopologicalSpace α] [Ring β] (f : α → β) :
     Continuous[t, (coinduced f).toTopologicalSpace] f :=
   continuous_sInf_rng.2 <| ball_image_iff.2 fun _ => continuous_iff_coinduced_le.2
 #align ring_topology.coinduced_continuous RingTopology.coinduced_continuous
@@ -368,7 +368,7 @@ section AbsoluteValue
 
 /-- Construct an absolute value on a semiring `T` from an absolute value on a semiring `R`
 and an injective ring homomorphism `f : T →+* R` -/
-def AbsoluteValue.comp {R S T : Type _} [Semiring T] [Semiring R] [OrderedSemiring S]
+def AbsoluteValue.comp {R S T : Type*} [Semiring T] [Semiring R] [OrderedSemiring S]
     (v : AbsoluteValue R S) {f : T →+* R} (hf : Function.Injective f) : AbsoluteValue T S where
   toMulHom := v.1.comp f
   nonneg' _ := v.nonneg _
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 topology.algebra.ring.basic
-! leanprover-community/mathlib commit 9a59dcb7a2d06bf55da57b9030169219980660cd
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Ring.Prod
 import Mathlib.RingTheory.Subring.Basic
 import Mathlib.Topology.Algebra.Group.Basic
 
+#align_import topology.algebra.ring.basic from "leanprover-community/mathlib"@"9a59dcb7a2d06bf55da57b9030169219980660cd"
+
 /-!
 
 # Topological (semi)rings
feat: port Analysis.NormedSpace.MatrixExponential (#5381)
Diff
@@ -152,13 +152,15 @@ instance [NonUnitalNonAssocRing α] [NonUnitalNonAssocRing β] [TopologicalRing
 
 end
 
-instance {β : Type _} {C : β → Type _} [∀ b, TopologicalSpace (C b)]
+instance Pi.instTopologicalSemiring {β : Type _} {C : β → Type _} [∀ b, TopologicalSpace (C b)]
     [∀ b, NonUnitalNonAssocSemiring (C b)] [∀ b, TopologicalSemiring (C b)] :
     TopologicalSemiring (∀ b, C b) where
+#align pi.topological_semiring Pi.instTopologicalSemiring
 
-instance {β : Type _} {C : β → Type _} [∀ b, TopologicalSpace (C b)]
+instance Pi.instTopologicalRing {β : Type _} {C : β → Type _} [∀ b, TopologicalSpace (C b)]
     [∀ b, NonUnitalNonAssocRing (C b)] [∀ b, TopologicalRing (C b)] :
     TopologicalRing (∀ b, C b) := ⟨⟩
+#align pi.topological_ring Pi.instTopologicalRing
 
 section MulOpposite
 
refactor: use the typeclass SProd to implement overloaded notation · ×ˢ · (#4200)

Currently, the following notations are changed from · ×ˢ · because Lean 4 can't deal with ambiguous notations. | Definition | Notation | | :

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Chris Hughes <chrishughes24@gmail.com>

Diff
@@ -200,7 +200,7 @@ section
 variable {R : Type _} [NonUnitalNonAssocRing R] [TopologicalSpace R]
 
 theorem TopologicalRing.of_addGroup_of_nhds_zero [TopologicalAddGroup R]
-    (hmul : Tendsto (uncurry ((· * ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
+    (hmul : Tendsto (uncurry ((· * ·) : R → R → R)) (𝓝 0 ×ˢ 𝓝 0) <| 𝓝 0)
     (hmul_left : ∀ x₀ : R, Tendsto (fun x : R => x₀ * x) (𝓝 0) <| 𝓝 0)
     (hmul_right : ∀ x₀ : R, Tendsto (fun x : R => x * x₀) (𝓝 0) <| 𝓝 0) : TopologicalRing R where
   continuous_mul := by
@@ -209,9 +209,9 @@ theorem TopologicalRing.of_addGroup_of_nhds_zero [TopologicalAddGroup R]
 #align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_addGroup_of_nhds_zero
 
 theorem TopologicalRing.of_nhds_zero
-    (hadd : Tendsto (uncurry ((· + ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
+    (hadd : Tendsto (uncurry ((· + ·) : R → R → R)) (𝓝 0 ×ˢ 𝓝 0) <| 𝓝 0)
     (hneg : Tendsto (fun x => -x : R → R) (𝓝 0) (𝓝 0))
-    (hmul : Tendsto (uncurry ((· * ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
+    (hmul : Tendsto (uncurry ((· * ·) : R → R → R)) (𝓝 0 ×ˢ 𝓝 0) <| 𝓝 0)
     (hmul_left : ∀ x₀ : R, Tendsto (fun x : R => x₀ * x) (𝓝 0) <| 𝓝 0)
     (hmul_right : ∀ x₀ : R, Tendsto (fun x : R => x * x₀) (𝓝 0) <| 𝓝 0)
     (hleft : ∀ x₀ : R, 𝓝 x₀ = map (fun x => x₀ + x) (𝓝 0)) : TopologicalRing R :=
feat: port Topology.Instances.Complex (#4314)
Diff
@@ -241,7 +241,7 @@ end
 
 variable [Ring α] [TopologicalRing α]
 
-instance (S : Subring α) : TopologicalRing S :=
+instance Subring.instTopologicalRing (S : Subring α) : TopologicalRing S :=
   { S.toSubmonoid.continuousMul, inferInstanceAs (TopologicalAddGroup S.toAddSubgroup) with }
 
 /-- The (topological-space) closure of a subring of a topological ring is
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

  • supₛsSup
  • infₛsInf
  • supᵢiSup
  • infᵢiInf
  • bsupₛbsSup
  • binfₛbsInf
  • bsupᵢbiSup
  • binfᵢbiInf
  • csupₛcsSup
  • cinfₛcsInf
  • csupᵢciSup
  • cinfᵢciInf
  • unionₛsUnion
  • interₛsInter
  • unionᵢiUnion
  • interᵢiInter
  • bunionₛbsUnion
  • binterₛbsInter
  • bunionᵢbiUnion
  • binterᵢbiInter

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -315,13 +315,13 @@ theorem ext {f g : RingTopology α} (h : f.IsOpen = g.IsOpen) : f = g :=
 instance : PartialOrder (RingTopology α) :=
   PartialOrder.lift RingTopology.toTopologicalSpace toTopologicalSpace_injective
 
-private def def_infₛ (S : Set (RingTopology α)) : RingTopology α :=
-  let _ := infₛ (toTopologicalSpace '' S)
-  { toContinuousAdd := continuousAdd_infₛ <| ball_image_iff.2 fun t _ =>
+private def def_sInf (S : Set (RingTopology α)) : RingTopology α :=
+  let _ := sInf (toTopologicalSpace '' S)
+  { toContinuousAdd := continuousAdd_sInf <| ball_image_iff.2 fun t _ =>
       let _ := t.1; t.toContinuousAdd
-    toContinuousMul := continuousMul_infₛ <| ball_image_iff.2 fun t _ =>
+    toContinuousMul := continuousMul_sInf <| ball_image_iff.2 fun t _ =>
       let _ := t.1; t.toContinuousMul
-    toContinuousNeg := continuousNeg_infₛ <| ball_image_iff.2 fun t _ =>
+    toContinuousNeg := continuousNeg_sInf <| ball_image_iff.2 fun t _ =>
       let _ := t.1; t.toContinuousNeg }
 
 /-- Ring topologies on `α` form a complete lattice, with `⊥` the discrete topology and `⊤` the
@@ -333,9 +333,9 @@ The infimum of a collection of ring topologies is the topology generated by all
 The supremum of two ring topologies `s` and `t` is the infimum of the family of all ring topologies
 contained in the intersection of `s` and `t`. -/
 instance : CompleteSemilatticeInf (RingTopology α) where
-  infₛ := def_infₛ
-  infₛ_le := fun _ a haS => infₛ_le (α := TopologicalSpace α) ⟨a, ⟨haS, rfl⟩⟩
-  le_infₛ := fun _ _ h => le_infₛ (α := TopologicalSpace α) <| ball_image_iff.2 h
+  sInf := def_sInf
+  sInf_le := fun _ a haS => sInf_le (α := TopologicalSpace α) ⟨a, ⟨haS, rfl⟩⟩
+  le_sInf := fun _ _ h => le_sInf (α := TopologicalSpace α) <| ball_image_iff.2 h
 
 instance : CompleteLattice (RingTopology α) :=
   completeLatticeOfCompleteSemilatticeInf _
@@ -343,12 +343,12 @@ instance : CompleteLattice (RingTopology α) :=
 /-- Given `f : α → β` and a topology on `α`, the coinduced ring topology on `β` is the finest
 topology such that `f` is continuous and `β` is a topological ring. -/
 def coinduced {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) : RingTopology β :=
-  infₛ { b : RingTopology β | t.coinduced f ≤ b.toTopologicalSpace }
+  sInf { b : RingTopology β | t.coinduced f ≤ b.toTopologicalSpace }
 #align ring_topology.coinduced RingTopology.coinduced
 
 theorem coinduced_continuous {α β : Type _} [t : TopologicalSpace α] [Ring β] (f : α → β) :
     Continuous[t, (coinduced f).toTopologicalSpace] f :=
-  continuous_infₛ_rng.2 <| ball_image_iff.2 fun _ => continuous_iff_coinduced_le.2
+  continuous_sInf_rng.2 <| ball_image_iff.2 fun _ => continuous_iff_coinduced_le.2
 #align ring_topology.coinduced_continuous RingTopology.coinduced_continuous
 
 /-- The forgetful functor from ring topologies on `a` to additive group topologies on `a`. -/
feat: port Topology.Algebra.Algebra (#3271)
Diff
@@ -95,7 +95,8 @@ variable [TopologicalSpace α] [Semiring α] [TopologicalSemiring α]
 
 namespace Subsemiring
 
-instance (S : Subsemiring α) : TopologicalSemiring S :=
+-- Porting note: named instance because generated name was huge
+instance topologicalSemiring (S : Subsemiring α) : TopologicalSemiring S :=
   { S.toSubmonoid.continuousMul, S.toAddSubmonoid.continuousAdd with }
 
 end Subsemiring
chore: tidy various files (#2742)
Diff
@@ -24,7 +24,7 @@ of topological (semi)rings.
 ## Main Results
 
 - `Subring.topologicalClosure`/`Subsemiring.topologicalClosure`: the topological closure of a
-  `Subring`/`Subsemiring` is itself a `sub(semi)Ring`.
+  `Subring`/`Subsemiring` is itself a `sub(semi)ring`.
 - The product of two topological (semi)rings is a topological (semi)ring.
 - The indexed product of topological (semi)rings is a topological (semi)ring.
 -/
@@ -198,14 +198,14 @@ section
 
 variable {R : Type _} [NonUnitalNonAssocRing R] [TopologicalSpace R]
 
-theorem TopologicalRing.of_add_group_of_nhds_zero [TopologicalAddGroup R]
+theorem TopologicalRing.of_addGroup_of_nhds_zero [TopologicalAddGroup R]
     (hmul : Tendsto (uncurry ((· * ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
     (hmul_left : ∀ x₀ : R, Tendsto (fun x : R => x₀ * x) (𝓝 0) <| 𝓝 0)
     (hmul_right : ∀ x₀ : R, Tendsto (fun x : R => x * x₀) (𝓝 0) <| 𝓝 0) : TopologicalRing R where
   continuous_mul := by
     refine continuous_of_continuousAt_zero₂ (AddMonoidHom.mul (R := R)) ?_ ?_ ?_ <;>
       simpa only [ContinuousAt, mul_zero, zero_mul, nhds_prod_eq, AddMonoidHom.mul_apply]
-#align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_add_group_of_nhds_zero
+#align topological_ring.of_add_group_of_nhds_zero TopologicalRing.of_addGroup_of_nhds_zero
 
 theorem TopologicalRing.of_nhds_zero
     (hadd : Tendsto (uncurry ((· + ·) : R → R → R)) (𝓝 0 ×ᶠ 𝓝 0) <| 𝓝 0)
@@ -215,7 +215,7 @@ theorem TopologicalRing.of_nhds_zero
     (hmul_right : ∀ x₀ : R, Tendsto (fun x : R => x * x₀) (𝓝 0) <| 𝓝 0)
     (hleft : ∀ x₀ : R, 𝓝 x₀ = map (fun x => x₀ + x) (𝓝 0)) : TopologicalRing R :=
   have := TopologicalAddGroup.of_comm_of_nhds_zero hadd hneg hleft
-  TopologicalRing.of_add_group_of_nhds_zero hmul hmul_left hmul_right
+  TopologicalRing.of_addGroup_of_nhds_zero hmul hmul_left hmul_right
 #align topological_ring.of_nhds_zero TopologicalRing.of_nhds_zero
 
 end
@@ -314,7 +314,7 @@ theorem ext {f g : RingTopology α} (h : f.IsOpen = g.IsOpen) : f = g :=
 instance : PartialOrder (RingTopology α) :=
   PartialOrder.lift RingTopology.toTopologicalSpace toTopologicalSpace_injective
 
-private def def_Inf (S : Set (RingTopology α)) : RingTopology α :=
+private def def_infₛ (S : Set (RingTopology α)) : RingTopology α :=
   let _ := infₛ (toTopologicalSpace '' S)
   { toContinuousAdd := continuousAdd_infₛ <| ball_image_iff.2 fun t _ =>
       let _ := t.1; t.toContinuousAdd
@@ -332,7 +332,7 @@ The infimum of a collection of ring topologies is the topology generated by all
 The supremum of two ring topologies `s` and `t` is the infimum of the family of all ring topologies
 contained in the intersection of `s` and `t`. -/
 instance : CompleteSemilatticeInf (RingTopology α) where
-  infₛ := def_Inf
+  infₛ := def_infₛ
   infₛ_le := fun _ a haS => infₛ_le (α := TopologicalSpace α) ⟨a, ⟨haS, rfl⟩⟩
   le_infₛ := fun _ _ h => le_infₛ (α := TopologicalSpace α) <| ball_image_iff.2 h
 
@@ -359,7 +359,7 @@ def toAddGroupTopology (t : RingTopology α) : AddGroupTopology α where
 
 /-- The order embedding from ring topologies on `a` to additive group topologies on `a`. -/
 def toAddGroupTopology.orderEmbedding : OrderEmbedding (RingTopology α) (AddGroupTopology α) :=
-  OrderEmbedding.ofMapLeIff toAddGroupTopology fun _ _ => Iff.rfl
+  OrderEmbedding.ofMapLEIff toAddGroupTopology fun _ _ => Iff.rfl
 #align ring_topology.to_add_group_topology.order_embedding RingTopology.toAddGroupTopology.orderEmbedding
 
 end RingTopology
feat: port Topology.Algebra.Ring.Basic (#2614)

Dependencies 9 + 396

397 files ported (97.8%)
171994 lines ported (97.1%)
Show graph

The unported dependencies are