topology.algebra.ring.idealMathlib.Topology.Algebra.Ring.Ideal

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,8 +3,8 @@ Copyright (c) 2018 Patrick Massot. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot
 -/
-import Mathbin.Topology.Algebra.Ring.Basic
-import Mathbin.RingTheory.Ideal.Quotient
+import Topology.Algebra.Ring.Basic
+import RingTheory.Ideal.Quotient
 
 #align_import topology.algebra.ring.ideal from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
 
Diff
@@ -89,7 +89,7 @@ instance topologicalRing_quotient : TopologicalRing (R ⧸ N) :=
         have cont : Continuous (mk N ∘ fun p : R × R => p.fst + p.snd) :=
           continuous_quot_mk.comp continuous_add
         (QuotientMap.continuous_iff (QuotientRing.quotientMap_coe_coe N)).mpr Cont
-      continuous_mul :=
+      continuous_hMul :=
         have cont : Continuous (mk N ∘ fun p : R × R => p.fst * p.snd) :=
           continuous_quot_mk.comp continuous_mul
         (QuotientMap.continuous_iff (QuotientRing.quotientMap_coe_coe N)).mpr Cont }
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2018 Patrick Massot. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot
-
-! This file was ported from Lean 3 source module topology.algebra.ring.ideal
-! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Topology.Algebra.Ring.Basic
 import Mathbin.RingTheory.Ideal.Quotient
 
+#align_import topology.algebra.ring.ideal from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
+
 /-!
 # Ideals and quotients of topological rings
 
Diff
@@ -91,11 +91,11 @@ instance topologicalRing_quotient : TopologicalRing (R ⧸ N) :=
     { continuous_add :=
         have cont : Continuous (mk N ∘ fun p : R × R => p.fst + p.snd) :=
           continuous_quot_mk.comp continuous_add
-        (QuotientMap.continuous_iff (QuotientRing.quotientMap_coe_coe N)).mpr cont
+        (QuotientMap.continuous_iff (QuotientRing.quotientMap_coe_coe N)).mpr Cont
       continuous_mul :=
         have cont : Continuous (mk N ∘ fun p : R × R => p.fst * p.snd) :=
           continuous_quot_mk.comp continuous_mul
-        (QuotientMap.continuous_iff (QuotientRing.quotientMap_coe_coe N)).mpr cont }
+        (QuotientMap.continuous_iff (QuotientRing.quotientMap_coe_coe N)).mpr Cont }
 #align topological_ring_quotient topologicalRing_quotient
 -/
 
Diff
@@ -45,12 +45,10 @@ theorem Ideal.coe_closure (I : Ideal R) : (I.closure : Set R) = closure I :=
 #align ideal.coe_closure Ideal.coe_closure
 -/
 
-#print Ideal.closure_eq_of_isClosed /-
 @[simp]
 theorem Ideal.closure_eq_of_isClosed (I : Ideal R) [hI : IsClosed (I : Set R)] : I.closure = I :=
   SetLike.ext' hI.closure_eq
-#align ideal.closure_eq_of_is_closed Ideal.closure_eq_of_isClosed
--/
+#align ideal.closure_eq_of_is_closed Ideal.closure_eq_of_isClosedₓ
 
 end Ring
 
Diff
@@ -69,6 +69,7 @@ instance topologicalRingQuotientTopology : TopologicalSpace (R ⧸ N) :=
 -- note for the reader: in the following, `mk` is `ideal.quotient.mk`, the canonical map `R → R/I`.
 variable [TopologicalRing R]
 
+#print QuotientRing.isOpenMap_coe /-
 theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
   by
   intro s s_op
@@ -76,12 +77,15 @@ theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
   rw [quotient_ring_saturate]
   exact isOpen_iUnion fun ⟨n, _⟩ => isOpenMap_add_left n s s_op
 #align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coe
+-/
 
+#print QuotientRing.quotientMap_coe_coe /-
 theorem QuotientRing.quotientMap_coe_coe : QuotientMap fun p : R × R => (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
+-/
 
 #print topologicalRing_quotient /-
 instance topologicalRing_quotient : TopologicalRing (R ⧸ N) :=
Diff
@@ -69,9 +69,6 @@ instance topologicalRingQuotientTopology : TopologicalSpace (R ⧸ N) :=
 -- note for the reader: in the following, `mk` is `ideal.quotient.mk`, the canonical map `R → R/I`.
 variable [TopologicalRing R]
 
-/- warning: quotient_ring.is_open_map_coe -> QuotientRing.isOpenMap_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coeₓ'. -/
 theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
   by
   intro s s_op
@@ -80,9 +77,6 @@ theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
   exact isOpen_iUnion fun ⟨n, _⟩ => isOpenMap_add_left n s s_op
 #align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coe
 
-/- warning: quotient_ring.quotient_map_coe_coe -> QuotientRing.quotientMap_coe_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align quotient_ring.quotient_map_coe_coe QuotientRing.quotientMap_coe_coeₓ'. -/
 theorem QuotientRing.quotientMap_coe_coe : QuotientMap fun p : R × R => (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))
Diff
@@ -70,10 +70,7 @@ instance topologicalRingQuotientTopology : TopologicalSpace (R ⧸ N) :=
 variable [TopologicalRing R]
 
 /- warning: quotient_ring.is_open_map_coe -> QuotientRing.isOpenMap_coe is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
+<too large>
 Case conversion may be inaccurate. Consider using '#align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coeₓ'. -/
 theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
   by
@@ -84,10 +81,7 @@ theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
 #align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coe
 
 /- warning: quotient_ring.quotient_map_coe_coe -> QuotientRing.quotientMap_coe_coe is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (Prod.topologicalSpace.{u1, u1} R R _inst_1 _inst_1) (Prod.topologicalSpace.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N)) (instTopologicalSpaceProd.{u1, u1} R R _inst_1 _inst_1) (instTopologicalSpaceProd.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align quotient_ring.quotient_map_coe_coe QuotientRing.quotientMap_coe_coeₓ'. -/
 theorem QuotientRing.quotientMap_coe_coe : QuotientMap fun p : R × R => (mk N p.1, mk N p.2) :=
   IsOpenMap.to_quotientMap ((QuotientRing.isOpenMap_coe N).Prod (QuotientRing.isOpenMap_coe N))
Diff
@@ -73,7 +73,7 @@ variable [TopologicalRing R]
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
 Case conversion may be inaccurate. Consider using '#align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coeₓ'. -/
 theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
   by
@@ -87,7 +87,7 @@ theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (Prod.topologicalSpace.{u1, u1} R R _inst_1 _inst_1) (Prod.topologicalSpace.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N)) (instTopologicalSpaceProd.{u1, u1} R R _inst_1 _inst_1) (instTopologicalSpaceProd.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N)) (instTopologicalSpaceProd.{u1, u1} R R _inst_1 _inst_1) (instTopologicalSpaceProd.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
 Case conversion may be inaccurate. Consider using '#align quotient_ring.quotient_map_coe_coe QuotientRing.quotientMap_coe_coeₓ'. -/
 theorem QuotientRing.quotientMap_coe_coe : QuotientMap fun p : R × R => (mk N p.1, mk N p.2) :=
   IsOpenMap.to_quotientMap ((QuotientRing.isOpenMap_coe N).Prod (QuotientRing.isOpenMap_coe N))
Diff
@@ -80,7 +80,7 @@ theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
   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
+  exact isOpen_iUnion fun ⟨n, _⟩ => isOpenMap_add_left n s s_op
 #align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coe
 
 /- warning: quotient_ring.quotient_map_coe_coe -> QuotientRing.quotientMap_coe_coe is a dubious translation:
Diff
@@ -73,7 +73,7 @@ variable [TopologicalRing R]
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
 Case conversion may be inaccurate. Consider using '#align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coeₓ'. -/
 theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
   by
@@ -87,7 +87,7 @@ theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (Prod.topologicalSpace.{u1, u1} R R _inst_1 _inst_1) (Prod.topologicalSpace.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N)) (instTopologicalSpaceProd.{u1, u1} R R _inst_1 _inst_1) (instTopologicalSpaceProd.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N)) (instTopologicalSpaceProd.{u1, u1} R R _inst_1 _inst_1) (instTopologicalSpaceProd.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Semiring.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommSemiring.toSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (CommRing.toCommSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToCommSemiring.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
 Case conversion may be inaccurate. Consider using '#align quotient_ring.quotient_map_coe_coe QuotientRing.quotientMap_coe_coeₓ'. -/
 theorem QuotientRing.quotientMap_coe_coe : QuotientMap fun p : R × R => (mk N p.1, mk N p.2) :=
   IsOpenMap.to_quotientMap ((QuotientRing.isOpenMap_coe N).Prod (QuotientRing.isOpenMap_coe N))
Diff
@@ -38,27 +38,19 @@ protected def Ideal.closure (I : Ideal R) : Ideal R :=
 #align ideal.closure Ideal.closure
 -/
 
-/- warning: ideal.coe_closure -> Ideal.coe_closure is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : Ring.{u1} R] [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_2))] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)), Eq.{succ u1} (Set.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) (Ideal.closure.{u1} R _inst_1 _inst_2 _inst_3 I)) (closure.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) I))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : Ring.{u1} R] [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_2))] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)), Eq.{succ u1} (Set.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) (Ideal.closure.{u1} R _inst_1 _inst_2 _inst_3 I)) (closure.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) I))
-Case conversion may be inaccurate. Consider using '#align ideal.coe_closure Ideal.coe_closureₓ'. -/
+#print Ideal.coe_closure /-
 @[simp]
 theorem Ideal.coe_closure (I : Ideal R) : (I.closure : Set R) = closure I :=
   rfl
 #align ideal.coe_closure Ideal.coe_closure
+-/
 
-/- warning: ideal.closure_eq_of_is_closed -> Ideal.closure_eq_of_isClosed is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : Ring.{u1} R] [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_2))] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) [hI : IsClosed.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) I)], Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Ideal.closure.{u1} R _inst_1 _inst_2 _inst_3 I) I
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : Ring.{u1} R] [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_2))] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) [hI : IsClosed.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) I)], Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Ideal.closure.{u1} R _inst_1 _inst_2 _inst_3 I) I
-Case conversion may be inaccurate. Consider using '#align ideal.closure_eq_of_is_closed Ideal.closure_eq_of_isClosedₓ'. -/
+#print Ideal.closure_eq_of_isClosed /-
 @[simp]
 theorem Ideal.closure_eq_of_isClosed (I : Ideal R) [hI : IsClosed (I : Set R)] : I.closure = I :=
   SetLike.ext' hI.closure_eq
 #align ideal.closure_eq_of_is_closed Ideal.closure_eq_of_isClosed
+-/
 
 end Ring
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot
 
 ! This file was ported from Lean 3 source module topology.algebra.ring.ideal
-! leanprover-community/mathlib commit 9a59dcb7a2d06bf55da57b9030169219980660cd
+! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.RingTheory.Ideal.Quotient
 /-!
 # Ideals and quotients of topological rings
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file we define `ideal.closure` to be the topological closure of an ideal in a topological
 ring. We also define a `topological_space` structure on the quotient of a topological ring by an
 ideal and prove that the quotient is a topological ring.
Diff
@@ -78,7 +78,7 @@ variable [TopologicalRing R]
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
 Case conversion may be inaccurate. Consider using '#align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coeₓ'. -/
 theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
   by
@@ -92,7 +92,7 @@ theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (Prod.topologicalSpace.{u1, u1} R R _inst_1 _inst_1) (Prod.topologicalSpace.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N)) (instTopologicalSpaceProd.{u1, u1} R R _inst_1 _inst_1) (instTopologicalSpaceProd.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N)) (instTopologicalSpaceProd.{u1, u1} R R _inst_1 _inst_1) (instTopologicalSpaceProd.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
 Case conversion may be inaccurate. Consider using '#align quotient_ring.quotient_map_coe_coe QuotientRing.quotientMap_coe_coeₓ'. -/
 theorem QuotientRing.quotientMap_coe_coe : QuotientMap fun p : R × R => (mk N p.1, mk N p.2) :=
   IsOpenMap.to_quotientMap ((QuotientRing.isOpenMap_coe N).Prod (QuotientRing.isOpenMap_coe N))
Diff
@@ -24,6 +24,7 @@ section Ring
 
 variable {R : Type _} [TopologicalSpace R] [Ring R] [TopologicalRing R]
 
+#print Ideal.closure /-
 /-- The closure of an ideal in a topological ring as an ideal. -/
 protected def Ideal.closure (I : Ideal R) : Ideal R :=
   {
@@ -32,12 +33,25 @@ protected def Ideal.closure (I : Ideal R) : Ideal R :=
     carrier := closure I
     smul_mem' := fun c x hx => map_mem_closure (mulLeft_continuous _) hx fun a => I.mul_mem_left c }
 #align ideal.closure Ideal.closure
+-/
 
+/- warning: ideal.coe_closure -> Ideal.coe_closure is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : Ring.{u1} R] [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_2))] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)), Eq.{succ u1} (Set.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) (Ideal.closure.{u1} R _inst_1 _inst_2 _inst_3 I)) (closure.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) I))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : Ring.{u1} R] [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_2))] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)), Eq.{succ u1} (Set.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) (Ideal.closure.{u1} R _inst_1 _inst_2 _inst_3 I)) (closure.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) I))
+Case conversion may be inaccurate. Consider using '#align ideal.coe_closure Ideal.coe_closureₓ'. -/
 @[simp]
 theorem Ideal.coe_closure (I : Ideal R) : (I.closure : Set R) = closure I :=
   rfl
 #align ideal.coe_closure Ideal.coe_closure
 
+/- warning: ideal.closure_eq_of_is_closed -> Ideal.closure_eq_of_isClosed is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : Ring.{u1} R] [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_2))] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) [hI : IsClosed.{u1} R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) I)], Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Ideal.closure.{u1} R _inst_1 _inst_2 _inst_3 I) I
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : Ring.{u1} R] [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_2))] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) [hI : IsClosed.{u1} R _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) I)], Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Ideal.closure.{u1} R _inst_1 _inst_2 _inst_3 I) I
+Case conversion may be inaccurate. Consider using '#align ideal.closure_eq_of_is_closed Ideal.closure_eq_of_isClosedₓ'. -/
 @[simp]
 theorem Ideal.closure_eq_of_isClosed (I : Ideal R) [hI : IsClosed (I : Set R)] : I.closure = I :=
   SetLike.ext' hI.closure_eq
@@ -51,13 +65,21 @@ variable {R : Type _} [TopologicalSpace R] [CommRing R] (N : Ideal R)
 
 open Ideal.Quotient
 
+#print topologicalRingQuotientTopology /-
 instance topologicalRingQuotientTopology : TopologicalSpace (R ⧸ N) :=
   Quotient.topologicalSpace
 #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 R]
 
+/- warning: quotient_ring.is_open_map_coe -> QuotientRing.isOpenMap_coe is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], IsOpenMap.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _inst_1 (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N))
+Case conversion may be inaccurate. Consider using '#align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coeₓ'. -/
 theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
   by
   intro s s_op
@@ -66,12 +88,19 @@ theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) :=
   exact isOpen_unionᵢ fun ⟨n, _⟩ => isOpenMap_add_left n s s_op
 #align quotient_ring.is_open_map_coe QuotientRing.isOpenMap_coe
 
+/- warning: quotient_ring.quotient_map_coe_coe -> QuotientRing.quotientMap_coe_coe is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (Prod.topologicalSpace.{u1, u1} R R _inst_1 _inst_1) (Prod.topologicalSpace.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (coeFn.{succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (fun (_x : RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) => R -> (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N)) (RingHom.hasCoeToFun.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.hasQuotient.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : TopologicalSpace.{u1} R] [_inst_2 : CommRing.{u1} R] (N : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) [_inst_3 : TopologicalRing.{u1} R _inst_1 (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))], QuotientMap.{u1, u1} (Prod.{u1, u1} R R) (Prod.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N)) (instTopologicalSpaceProd.{u1, u1} R R _inst_1 _inst_1) (instTopologicalSpaceProd.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N) (topologicalRingQuotientTopology.{u1} R _inst_1 _inst_2 N)) (fun (p : Prod.{u1, u1} R R) => Prod.mk.{u1, u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.fst.{u1, u1} R R p)) (FunLike.coe.{succ u1, succ u1, succ u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) _x) (MulHomClass.toFunLike.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (NonUnitalNonAssocSemiring.toMul.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u1, u1} (RingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N))))) R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))) (RingHom.instRingHomClassRingHom.{u1, u1} R (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))) (NonAssocRing.toNonAssocSemiring.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ring.toNonAssocRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (CommRing.toRing.{u1} (HasQuotient.Quotient.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.instHasQuotientIdealToSemiringToRing.{u1} R _inst_2) N) (Ideal.Quotient.commRing.{u1} R _inst_2 N)))))))) (Ideal.Quotient.mk.{u1} R _inst_2 N) (Prod.snd.{u1, u1} R R p)))
+Case conversion may be inaccurate. Consider using '#align quotient_ring.quotient_map_coe_coe QuotientRing.quotientMap_coe_coeₓ'. -/
 theorem QuotientRing.quotientMap_coe_coe : QuotientMap fun p : R × R => (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
 
+#print topologicalRing_quotient /-
 instance topologicalRing_quotient : TopologicalRing (R ⧸ N) :=
   TopologicalSemiring.toTopologicalRing
     { continuous_add :=
@@ -83,6 +112,7 @@ instance topologicalRing_quotient : TopologicalRing (R ⧸ N) :=
           continuous_quot_mk.comp continuous_mul
         (QuotientMap.continuous_iff (QuotientRing.quotientMap_coe_coe N)).mpr cont }
 #align topological_ring_quotient topologicalRing_quotient
+-/
 
 end CommRing
 
Diff
@@ -73,7 +73,7 @@ theorem QuotientRing.quotientMap_coe_coe : QuotientMap fun p : R × R => (mk N p
 #align quotient_ring.quotient_map_coe_coe QuotientRing.quotientMap_coe_coe
 
 instance topologicalRing_quotient : TopologicalRing (R ⧸ N) :=
-  TopologicalSemiring.to_topologicalRing
+  TopologicalSemiring.toTopologicalRing
     { continuous_add :=
         have cont : Continuous (mk N ∘ fun p : R × R => p.fst + p.snd) :=
           continuous_quot_mk.comp continuous_add

Changes in mathlib4

mathlib3
mathlib4
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -35,7 +35,7 @@ theorem Ideal.coe_closure (I : Ideal R) : (I.closure : Set R) = closure I :=
   rfl
 #align ideal.coe_closure Ideal.coe_closure
 
--- porting note: removed `@[simp]` because we make the instance argument explicit since otherwise
+-- Porting note: removed `@[simp]` because we make the instance argument explicit since otherwise
 -- it causes timeouts as `simp` tries and fails to generated an `IsClosed` instance.
 -- we also `alignₓ` because of the change in argument type
 -- https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/!4.234852.20heartbeats.20of.20the.20linter
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
@@ -19,7 +19,7 @@ ideal and prove that the quotient is a topological ring.
 
 section Ring
 
-variable {R : Type _} [TopologicalSpace R] [Ring R] [TopologicalRing R]
+variable {R : Type*} [TopologicalSpace R] [Ring R] [TopologicalRing R]
 
 /-- The closure of an ideal in a topological ring as an ideal. -/
 protected def Ideal.closure (I : Ideal R) : Ideal R :=
@@ -47,7 +47,7 @@ end Ring
 
 section CommRing
 
-variable {R : Type _} [TopologicalSpace R] [CommRing R] (N : Ideal R)
+variable {R : Type*} [TopologicalSpace R] [CommRing R] (N : Ideal R)
 
 open Ideal.Quotient
 
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,15 +2,12 @@
 Copyright (c) 2018 Patrick Massot. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Patrick Massot
-
-! This file was ported from Lean 3 source module topology.algebra.ring.ideal
-! 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.Topology.Algebra.Ring.Basic
 import Mathlib.RingTheory.Ideal.Quotient
 
+#align_import topology.algebra.ring.ideal from "leanprover-community/mathlib"@"9a59dcb7a2d06bf55da57b9030169219980660cd"
+
 /-!
 # Ideals and quotients of topological rings
 
feat: port Topology.ContinuousFunction.Ideals (#4852)

Co-authored-by: Moritz Firsching <firsching@google.com> Co-authored-by: Jireh Loreaux <loreaujy@gmail.com>

Diff
@@ -38,10 +38,13 @@ theorem Ideal.coe_closure (I : Ideal R) : (I.closure : Set R) = closure I :=
   rfl
 #align ideal.coe_closure Ideal.coe_closure
 
-@[simp]
-theorem Ideal.closure_eq_of_isClosed (I : Ideal R) [hI : IsClosed (I : Set R)] : I.closure = I :=
+-- porting note: removed `@[simp]` because we make the instance argument explicit since otherwise
+-- it causes timeouts as `simp` tries and fails to generated an `IsClosed` instance.
+-- we also `alignₓ` because of the change in argument type
+-- https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/!4.234852.20heartbeats.20of.20the.20linter
+theorem Ideal.closure_eq_of_isClosed (I : Ideal R) (hI : IsClosed (I : Set R)) : I.closure = I :=
   SetLike.ext' hI.closure_eq
-#align ideal.closure_eq_of_is_closed Ideal.closure_eq_of_isClosed
+#align ideal.closure_eq_of_is_closed Ideal.closure_eq_of_isClosedₓ
 
 end Ring
 
chore: cleanup various notes about etaExperiment (#4029)

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

Diff
@@ -67,10 +67,7 @@ theorem QuotientRing.isOpenMap_coe : IsOpenMap (mk N) := by
 
 theorem QuotientRing.quotientMap_coe_coe : QuotientMap fun p : R × R => (mk N p.1, mk N p.2) :=
   IsOpenMap.to_quotientMap ((QuotientRing.isOpenMap_coe N).prod (QuotientRing.isOpenMap_coe N))
-    (Continuous.prod_mk (Continuous.comp continuous_quot_mk continuous_fst) <|
-      Continuous.comp continuous_quot_mk continuous_snd)
-    -- porting note: this is lean4#2074 because this works with `etaExperiment`:
-    -- `(continuous_quot_mk.comp continuous_fst).prod_mk (continuous_quot_mk.comp continuous_snd))`
+    ((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
 
@@ -78,15 +75,11 @@ instance topologicalRing_quotient : TopologicalRing (R ⧸ N) :=
   TopologicalSemiring.toTopologicalRing
     { continuous_add :=
         have cont : Continuous (mk N ∘ fun p : R × R => p.fst + p.snd) :=
-          Continuous.comp continuous_quot_mk continuous_add
-          -- porting note: this is lean4#2074 because this works with `etaExperiment`:
-          -- `continuous_quot_mk.comp continuous_add`
+          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 : R × R => p.fst * p.snd) :=
-          Continuous.comp continuous_quot_mk continuous_mul
-          -- porting note: this is lean4#2074 because this works with `etaExperiment`:
-          -- `continuous_quot_mk.comp continuous_mul`
+          continuous_quot_mk.comp continuous_mul
         (QuotientMap.continuous_iff (QuotientRing.quotientMap_coe_coe N)).mpr cont }
 #align topological_ring_quotient topologicalRing_quotient
 
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
@@ -62,7 +62,7 @@ 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
+  exact isOpen_iUnion 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 : R × R => (mk N p.1, mk N p.2) :=
feat: port Topology.Algebra.Ring.Ideal (#2754)

Dependencies 9 + 455

456 files ported (98.1%)
196472 lines ported (97.5%)
Show graph

The unported dependencies are