@@ -102,21 +102,21 @@ instance instContinuousMul [Mul M] [ContinuousMul M] : ContinuousMul (Separation
102102
103103@[to_additive]
104104instance instCommMagma [CommMagma M] [ContinuousMul M] : CommMagma (SeparationQuotient M) :=
105- surjective_mk.commMagma mk mk_mul
105+ fast_instance% surjective_mk.commMagma mk mk_mul
106106
107107@[to_additive]
108108instance instSemigroup [Semigroup M] [ContinuousMul M] : Semigroup (SeparationQuotient M) :=
109- surjective_mk.semigroup mk mk_mul
109+ fast_instance% surjective_mk.semigroup mk mk_mul
110110
111111@[to_additive]
112112instance instCommSemigroup [CommSemigroup M] [ContinuousMul M] :
113113 CommSemigroup (SeparationQuotient M) :=
114- surjective_mk.commSemigroup mk mk_mul
114+ fast_instance% surjective_mk.commSemigroup mk mk_mul
115115
116116@[to_additive]
117117instance instMulOneClass [MulOneClass M] [ContinuousMul M] :
118118 MulOneClass (SeparationQuotient M) :=
119- surjective_mk.mulOneClass mk mk_one mk_mul
119+ fast_instance% surjective_mk.mulOneClass mk mk_one mk_mul
120120
121121/-- `SeparationQuotient.mk` as a `MonoidHom`. -/
122122@ [to_additive (attr := simps) /-- `SeparationQuotient.mk` as an `AddMonoidHom`. -/ ]
@@ -138,11 +138,11 @@ theorem mk_pow [Monoid M] [ContinuousMul M] (x : M) (n : ℕ) : mk (x ^ n) = (mk
138138
139139@[to_additive]
140140instance instMonoid [Monoid M] [ContinuousMul M] : Monoid (SeparationQuotient M) :=
141- surjective_mk.monoid mk mk_one mk_mul mk_pow
141+ fast_instance% surjective_mk.monoid mk mk_one mk_mul mk_pow
142142
143143@[to_additive]
144144instance instCommMonoid [CommMonoid M] [ContinuousMul M] : CommMonoid (SeparationQuotient M) :=
145- surjective_mk.commMonoid mk mk_one mk_mul mk_pow
145+ fast_instance% surjective_mk.commMonoid mk mk_one mk_mul mk_pow
146146
147147end Monoid
148148
@@ -194,11 +194,11 @@ theorem mk_zpow [Group G] [IsTopologicalGroup G] (x : G) (n : ℤ) : mk (x ^ n)
194194
195195@[to_additive]
196196instance instGroup [Group G] [IsTopologicalGroup G] : Group (SeparationQuotient G) :=
197- surjective_mk.group mk mk_one mk_mul mk_inv mk_div mk_pow mk_zpow
197+ fast_instance% surjective_mk.group mk mk_one mk_mul mk_inv mk_div mk_pow mk_zpow
198198
199199@[to_additive]
200200instance instCommGroup [CommGroup G] [IsTopologicalGroup G] : CommGroup (SeparationQuotient G) :=
201- surjective_mk.commGroup mk mk_one mk_mul mk_inv mk_div mk_pow mk_zpow
201+ fast_instance% surjective_mk.commGroup mk mk_one mk_mul mk_inv mk_div mk_pow mk_zpow
202202
203203@[to_additive]
204204instance instIsTopologicalGroup [Group G] [IsTopologicalGroup G] :
@@ -223,23 +223,23 @@ variable {M₀ : Type*} [TopologicalSpace M₀]
223223
224224instance instMulZeroClass [MulZeroClass M₀] [ContinuousMul M₀] :
225225 MulZeroClass (SeparationQuotient M₀) :=
226- surjective_mk.mulZeroClass mk mk_zero mk_mul
226+ fast_instance% surjective_mk.mulZeroClass mk mk_zero mk_mul
227227
228228instance instSemigroupWithZero [SemigroupWithZero M₀] [ContinuousMul M₀] :
229229 SemigroupWithZero (SeparationQuotient M₀) :=
230- surjective_mk.semigroupWithZero mk mk_zero mk_mul
230+ fast_instance% surjective_mk.semigroupWithZero mk mk_zero mk_mul
231231
232232instance instMulZeroOneClass [MulZeroOneClass M₀] [ContinuousMul M₀] :
233233 MulZeroOneClass (SeparationQuotient M₀) :=
234- surjective_mk.mulZeroOneClass mk mk_zero mk_one mk_mul
234+ fast_instance% surjective_mk.mulZeroOneClass mk mk_zero mk_one mk_mul
235235
236236instance instMonoidWithZero [MonoidWithZero M₀] [ContinuousMul M₀] :
237237 MonoidWithZero (SeparationQuotient M₀) :=
238- surjective_mk.monoidWithZero mk mk_zero mk_one mk_mul mk_pow
238+ fast_instance% surjective_mk.monoidWithZero mk mk_zero mk_one mk_mul mk_pow
239239
240240instance instCommMonoidWithZero [CommMonoidWithZero M₀] [ContinuousMul M₀] :
241241 CommMonoidWithZero (SeparationQuotient M₀) :=
242- surjective_mk.commMonoidWithZero mk mk_zero mk_one mk_mul mk_pow
242+ fast_instance% surjective_mk.commMonoidWithZero mk mk_zero mk_one mk_mul mk_pow
243243
244244end MonoidWithZero
245245
@@ -249,7 +249,7 @@ variable {R : Type*} [TopologicalSpace R]
249249
250250instance instDistrib [Distrib R] [ContinuousMul R] [ContinuousAdd R] :
251251 Distrib (SeparationQuotient R) :=
252- surjective_mk.distrib mk mk_add mk_mul
252+ fast_instance% surjective_mk.distrib mk mk_add mk_mul
253253
254254instance instLeftDistribClass [Mul R] [Add R] [LeftDistribClass R]
255255 [ContinuousMul R] [ContinuousAdd R] :
@@ -263,11 +263,14 @@ instance instRightDistribClass [Mul R] [Add R] [RightDistribClass R]
263263
264264instance instNonUnitalnonAssocSemiring [NonUnitalNonAssocSemiring R]
265265 [IsTopologicalSemiring R] : NonUnitalNonAssocSemiring (SeparationQuotient R) :=
266- surjective_mk.nonUnitalNonAssocSemiring mk mk_zero mk_add mk_mul mk_smul
266+ fast_instance% surjective_mk.nonUnitalNonAssocSemiring mk mk_zero mk_add mk_mul mk_smul
267+
268+ instance instIsTopologicalSemiring [NonUnitalNonAssocSemiring R] [IsTopologicalSemiring R] :
269+ IsTopologicalSemiring (SeparationQuotient R) where
267270
268271instance instNonUnitalSemiring [NonUnitalSemiring R] [IsTopologicalSemiring R] :
269272 NonUnitalSemiring (SeparationQuotient R) :=
270- surjective_mk.nonUnitalSemiring mk mk_zero mk_add mk_mul mk_smul
273+ fast_instance% surjective_mk.nonUnitalSemiring mk mk_zero mk_add mk_mul mk_smul
271274
272275instance instNatCast [NatCast R] : NatCast (SeparationQuotient R) where
273276 natCast n := mk n
@@ -288,59 +291,66 @@ theorem mk_intCast [IntCast R] (n : ℤ) : mk (n : R) = n := rfl
288291
289292instance instNonAssocSemiring [NonAssocSemiring R] [IsTopologicalSemiring R] :
290293 NonAssocSemiring (SeparationQuotient R) :=
291- surjective_mk.nonAssocSemiring mk mk_zero mk_one mk_add mk_mul mk_smul mk_natCast
294+ fast_instance% surjective_mk.nonAssocSemiring mk mk_zero mk_one mk_add mk_mul mk_smul mk_natCast
292295
293296instance instNonUnitalNonAssocRing [NonUnitalNonAssocRing R] [IsTopologicalRing R] :
294297 NonUnitalNonAssocRing (SeparationQuotient R) :=
295- surjective_mk.nonUnitalNonAssocRing mk mk_zero mk_add mk_mul mk_neg mk_sub mk_smul mk_smul
298+ fast_instance% surjective_mk.nonUnitalNonAssocRing mk mk_zero mk_add mk_mul mk_neg mk_sub
299+ mk_smul mk_smul
300+
301+ instance instIsTopologicalRing [NonUnitalNonAssocRing R] [IsTopologicalRing R] :
302+ IsTopologicalRing (SeparationQuotient R) where
296303
297304instance instNonUnitalRing [NonUnitalRing R] [IsTopologicalRing R] :
298305 NonUnitalRing (SeparationQuotient R) :=
299- surjective_mk.nonUnitalRing mk mk_zero mk_add mk_mul mk_neg mk_sub mk_smul mk_smul
306+ fast_instance% surjective_mk.nonUnitalRing mk mk_zero mk_add mk_mul mk_neg mk_sub mk_smul mk_smul
300307
301308instance instNonAssocRing [NonAssocRing R] [IsTopologicalRing R] :
302309 NonAssocRing (SeparationQuotient R) :=
303- surjective_mk.nonAssocRing mk mk_zero mk_one mk_add mk_mul mk_neg mk_sub mk_smul mk_smul
304- mk_natCast mk_intCast
310+ fast_instance% surjective_mk.nonAssocRing mk mk_zero mk_one mk_add mk_mul mk_neg mk_sub
311+ mk_smul mk_smul mk_natCast mk_intCast
305312
306313instance instSemiring [Semiring R] [IsTopologicalSemiring R] :
307314 Semiring (SeparationQuotient R) :=
308- surjective_mk.semiring mk mk_zero mk_one mk_add mk_mul mk_smul mk_pow mk_natCast
315+ fast_instance% surjective_mk.semiring mk mk_zero mk_one mk_add mk_mul mk_smul mk_pow mk_natCast
309316
310317instance instRing [Ring R] [IsTopologicalRing R] :
311318 Ring (SeparationQuotient R) :=
312- surjective_mk.ring mk mk_zero mk_one mk_add mk_mul mk_neg mk_sub mk_smul mk_smul mk_pow
313- mk_natCast mk_intCast
319+ fast_instance% surjective_mk.ring mk mk_zero mk_one mk_add mk_mul mk_neg mk_sub mk_smul
320+ mk_smul mk_pow mk_natCast mk_intCast
314321
315322instance instNonUnitalNonAssocCommSemiring [NonUnitalNonAssocCommSemiring R]
316323 [IsTopologicalSemiring R] :
317324 NonUnitalNonAssocCommSemiring (SeparationQuotient R) :=
318- surjective_mk.nonUnitalNonAssocCommSemiring mk mk_zero mk_add mk_mul mk_smul
325+ fast_instance% surjective_mk.nonUnitalNonAssocCommSemiring mk mk_zero mk_add mk_mul mk_smul
319326
320327instance instNonUnitalCommSemiring [NonUnitalCommSemiring R] [IsTopologicalSemiring R] :
321328 NonUnitalCommSemiring (SeparationQuotient R) :=
322- surjective_mk.nonUnitalCommSemiring mk mk_zero mk_add mk_mul mk_smul
329+ fast_instance% surjective_mk.nonUnitalCommSemiring mk mk_zero mk_add mk_mul mk_smul
323330
324331instance instCommSemiring [CommSemiring R] [IsTopologicalSemiring R] :
325332 CommSemiring (SeparationQuotient R) :=
326- surjective_mk.commSemiring mk mk_zero mk_one mk_add mk_mul mk_smul mk_pow mk_natCast
333+ fast_instance% surjective_mk.commSemiring mk mk_zero mk_one mk_add mk_mul mk_smul
334+ mk_pow mk_natCast
327335
328336instance instHasDistribNeg [Mul R] [HasDistribNeg R] [ContinuousMul R] [ContinuousNeg R] :
329337 HasDistribNeg (SeparationQuotient R) :=
330- surjective_mk.hasDistribNeg mk mk_neg mk_mul
338+ fast_instance% surjective_mk.hasDistribNeg mk mk_neg mk_mul
331339
332340instance instNonUnitalNonAssocCommRing [NonUnitalNonAssocCommRing R] [IsTopologicalRing R] :
333341 NonUnitalNonAssocCommRing (SeparationQuotient R) :=
334- surjective_mk.nonUnitalNonAssocCommRing mk mk_zero mk_add mk_mul mk_neg mk_sub mk_smul mk_smul
342+ fast_instance% surjective_mk.nonUnitalNonAssocCommRing mk mk_zero mk_add mk_mul mk_neg mk_sub
343+ mk_smul mk_smul
335344
336345instance instNonUnitalCommRing [NonUnitalCommRing R] [IsTopologicalRing R] :
337346 NonUnitalCommRing (SeparationQuotient R) :=
338- surjective_mk.nonUnitalCommRing mk mk_zero mk_add mk_mul mk_neg mk_sub mk_smul mk_smul
347+ fast_instance% surjective_mk.nonUnitalCommRing mk mk_zero mk_add mk_mul mk_neg mk_sub
348+ mk_smul mk_smul
339349
340350instance instCommRing [CommRing R] [IsTopologicalRing R] :
341351 CommRing (SeparationQuotient R) :=
342- surjective_mk.commRing mk mk_zero mk_one mk_add mk_mul mk_neg mk_sub mk_smul mk_smul mk_pow
343- mk_natCast mk_intCast
352+ fast_instance% surjective_mk.commRing mk mk_zero mk_one mk_add mk_mul mk_neg mk_sub
353+ mk_smul mk_smul mk_pow mk_natCast mk_intCast
344354
345355/-- `SeparationQuotient.mk` as a `RingHom`. -/
346356@[simps]
@@ -357,17 +367,17 @@ variable {M A : Type*} [TopologicalSpace A]
357367instance instDistribSMul [AddZeroClass A] [DistribSMul M A]
358368 [ContinuousAdd A] [ContinuousConstSMul M A] :
359369 DistribSMul M (SeparationQuotient A) :=
360- surjective_mk.distribSMul mkAddMonoidHom mk_smul
370+ fast_instance% surjective_mk.distribSMul mkAddMonoidHom mk_smul
361371
362372instance instDistribMulAction [Monoid M] [AddMonoid A] [DistribMulAction M A]
363373 [ContinuousAdd A] [ContinuousConstSMul M A] :
364374 DistribMulAction M (SeparationQuotient A) :=
365- surjective_mk.distribMulAction mkAddMonoidHom mk_smul
375+ fast_instance% surjective_mk.distribMulAction mkAddMonoidHom mk_smul
366376
367377instance instMulDistribMulAction [Monoid M] [Monoid A] [MulDistribMulAction M A]
368378 [ContinuousMul A] [ContinuousConstSMul M A] :
369379 MulDistribMulAction M (SeparationQuotient A) :=
370- surjective_mk.mulDistribMulAction mkMonoidHom mk_smul
380+ fast_instance% surjective_mk.mulDistribMulAction mkMonoidHom mk_smul
371381
372382end DistribSMul
373383
@@ -379,7 +389,7 @@ variable {R S M N : Type*} [Semiring R] [AddCommMonoid M] [Module R M]
379389 [TopologicalSpace N]
380390
381391instance instModule : Module R (SeparationQuotient M) :=
382- surjective_mk.module R mkAddMonoidHom mk_smul
392+ fast_instance% surjective_mk.module R mkAddMonoidHom mk_smul
383393
384394variable (R M)
385395
0 commit comments