topology.category.Profinite.as_limitMathlib.Topology.Category.Profinite.AsLimit

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -76,7 +76,7 @@ instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asL
     (by
       refine' ⟨fun a b h => _, fun a => _⟩
       · refine' DiscreteQuotient.eq_of_forall_proj_eq fun S => _
-        apply_fun fun f : (limit_cone X.diagram).pt => f.val S at h 
+        apply_fun fun f : (limit_cone X.diagram).pt => f.val S at h
         exact h
       · obtain ⟨b, hb⟩ :=
           DiscreteQuotient.exists_of_compat (fun S => a.val S) fun _ _ h => a.prop (hom_of_le h)
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Calle Sönne, Adam Topaz
 -/
-import Mathbin.Topology.Category.Profinite.Basic
-import Mathbin.Topology.DiscreteQuotient
+import Topology.Category.Profinite.Basic
+import Topology.DiscreteQuotient
 
 #align_import topology.category.Profinite.as_limit from "leanprover-community/mathlib"@"781cb2eed038c4caf53bdbd8d20a95e5822d77df"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Calle Sönne, Adam Topaz
-
-! This file was ported from Lean 3 source module topology.category.Profinite.as_limit
-! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Topology.Category.Profinite.Basic
 import Mathbin.Topology.DiscreteQuotient
 
+#align_import topology.category.Profinite.as_limit from "leanprover-community/mathlib"@"781cb2eed038c4caf53bdbd8d20a95e5822d77df"
+
 /-!
 # Profinite sets as limits of finite sets.
 
Diff
@@ -47,6 +47,7 @@ universe u
 
 variable (X : Profinite.{u})
 
+#print Profinite.fintypeDiagram /-
 /-- The functor `discrete_quotient X ⥤ Fintype` whose limit is isomorphic to `X`. -/
 def fintypeDiagram : DiscreteQuotient X ⥤ FintypeCat
     where
@@ -55,18 +56,24 @@ def fintypeDiagram : DiscreteQuotient X ⥤ FintypeCat
     FintypeCat.of S
   map S T f := DiscreteQuotient.ofLE f.le
 #align Profinite.fintype_diagram Profinite.fintypeDiagram
+-/
 
+#print Profinite.diagram /-
 /-- An abbreviation for `X.fintype_diagram ⋙ Fintype_to_Profinite`. -/
 abbrev diagram : DiscreteQuotient X ⥤ Profinite :=
   X.fintypeDiagram ⋙ FintypeCat.toProfinite
 #align Profinite.diagram Profinite.diagram
+-/
 
+#print Profinite.asLimitCone /-
 /-- A cone over `X.diagram` whose cone point is `X`. -/
 def asLimitCone : CategoryTheory.Limits.Cone X.diagram :=
   { pt
     π := { app := fun S => ⟨S.proj, S.proj_isLocallyConstant.Continuous⟩ } }
 #align Profinite.as_limit_cone Profinite.asLimitCone
+-/
 
+#print Profinite.isIso_asLimitCone_lift /-
 instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asLimitCone) :=
   isIso_of_bijective _
     (by
@@ -80,30 +87,39 @@ instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asL
         ext S : 3
         apply hb)
 #align Profinite.is_iso_as_limit_cone_lift Profinite.isIso_asLimitCone_lift
+-/
 
+#print Profinite.isoAsLimitConeLift /-
 /-- The isomorphism between `X` and the explicit limit of `X.diagram`,
 induced by lifting `X.as_limit_cone`.
 -/
 def isoAsLimitConeLift : X ≅ (limitCone X.diagram).pt :=
   asIso <| (limitConeIsLimit _).lift X.asLimitCone
 #align Profinite.iso_as_limit_cone_lift Profinite.isoAsLimitConeLift
+-/
 
+#print Profinite.asLimitConeIso /-
 /-- The isomorphism of cones `X.as_limit_cone` and `Profinite.limit_cone X.diagram`.
 The underlying isomorphism is defeq to `X.iso_as_limit_cone_lift`.
 -/
 def asLimitConeIso : X.asLimitCone ≅ limitCone _ :=
   Limits.Cones.ext (isoAsLimitConeLift _) fun _ => rfl
 #align Profinite.as_limit_cone_iso Profinite.asLimitConeIso
+-/
 
+#print Profinite.asLimit /-
 /-- `X.as_limit_cone` is indeed a limit cone. -/
 def asLimit : CategoryTheory.Limits.IsLimit X.asLimitCone :=
   Limits.IsLimit.ofIsoLimit (limitConeIsLimit _) X.asLimitConeIso.symm
 #align Profinite.as_limit Profinite.asLimit
+-/
 
+#print Profinite.lim /-
 /-- A bundled version of `X.as_limit_cone` and `X.as_limit`. -/
 def lim : Limits.LimitCone X.diagram :=
   ⟨X.asLimitCone, X.asLimit⟩
 #align Profinite.lim Profinite.lim
+-/
 
 end Profinite
 
Diff
@@ -72,7 +72,7 @@ instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asL
     (by
       refine' ⟨fun a b h => _, fun a => _⟩
       · refine' DiscreteQuotient.eq_of_forall_proj_eq fun S => _
-        apply_fun fun f : (limit_cone X.diagram).pt => f.val S  at h 
+        apply_fun fun f : (limit_cone X.diagram).pt => f.val S at h 
         exact h
       · obtain ⟨b, hb⟩ :=
           DiscreteQuotient.exists_of_compat (fun S => a.val S) fun _ _ h => a.prop (hom_of_le h)
Diff
@@ -72,7 +72,7 @@ instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asL
     (by
       refine' ⟨fun a b h => _, fun a => _⟩
       · refine' DiscreteQuotient.eq_of_forall_proj_eq fun S => _
-        apply_fun fun f : (limit_cone X.diagram).pt => f.val S  at h
+        apply_fun fun f : (limit_cone X.diagram).pt => f.val S  at h 
         exact h
       · obtain ⟨b, hb⟩ :=
           DiscreteQuotient.exists_of_compat (fun S => a.val S) fun _ _ h => a.prop (hom_of_le h)
Diff
@@ -47,12 +47,6 @@ universe u
 
 variable (X : Profinite.{u})
 
-/- warning: Profinite.fintype_diagram -> Profinite.fintypeDiagram is a dubious translation:
-lean 3 declaration is
-  forall (X : Profinite.{u1}), CategoryTheory.Functor.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) FintypeCat.{u1} FintypeCat.CategoryTheory.category.{u1}
-but is expected to have type
-  forall (X : Profinite.{u1}), CategoryTheory.Functor.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) FintypeCat.{u1} FintypeCat.instCategoryFintypeCat.{u1}
-Case conversion may be inaccurate. Consider using '#align Profinite.fintype_diagram Profinite.fintypeDiagramₓ'. -/
 /-- The functor `discrete_quotient X ⥤ Fintype` whose limit is isomorphic to `X`. -/
 def fintypeDiagram : DiscreteQuotient X ⥤ FintypeCat
     where
@@ -62,32 +56,17 @@ def fintypeDiagram : DiscreteQuotient X ⥤ FintypeCat
   map S T f := DiscreteQuotient.ofLE f.le
 #align Profinite.fintype_diagram Profinite.fintypeDiagram
 
-/- warning: Profinite.diagram -> Profinite.diagram is a dubious translation:
-lean 3 declaration is
-  forall (X : Profinite.{u1}), CategoryTheory.Functor.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1}
-but is expected to have type
-  forall (X : Profinite.{u1}), CategoryTheory.Functor.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1}
-Case conversion may be inaccurate. Consider using '#align Profinite.diagram Profinite.diagramₓ'. -/
 /-- An abbreviation for `X.fintype_diagram ⋙ Fintype_to_Profinite`. -/
 abbrev diagram : DiscreteQuotient X ⥤ Profinite :=
   X.fintypeDiagram ⋙ FintypeCat.toProfinite
 #align Profinite.diagram Profinite.diagram
 
-/- warning: Profinite.as_limit_cone -> Profinite.asLimitCone is a dubious translation:
-lean 3 declaration is
-  forall (X : Profinite.{u1}), CategoryTheory.Limits.Cone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)
-but is expected to have type
-  forall (X : Profinite.{u1}), CategoryTheory.Limits.Cone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)
-Case conversion may be inaccurate. Consider using '#align Profinite.as_limit_cone Profinite.asLimitConeₓ'. -/
 /-- A cone over `X.diagram` whose cone point is `X`. -/
 def asLimitCone : CategoryTheory.Limits.Cone X.diagram :=
   { pt
     π := { app := fun S => ⟨S.proj, S.proj_isLocallyConstant.Continuous⟩ } }
 #align Profinite.as_limit_cone Profinite.asLimitCone
 
-/- warning: Profinite.is_iso_as_limit_cone_lift -> Profinite.isIso_asLimitCone_lift is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align Profinite.is_iso_as_limit_cone_lift Profinite.isIso_asLimitCone_liftₓ'. -/
 instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asLimitCone) :=
   isIso_of_bijective _
     (by
@@ -102,12 +81,6 @@ instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asL
         apply hb)
 #align Profinite.is_iso_as_limit_cone_lift Profinite.isIso_asLimitCone_lift
 
-/- warning: Profinite.iso_as_limit_cone_lift -> Profinite.isoAsLimitConeLift is a dubious translation:
-lean 3 declaration is
-  forall (X : Profinite.{u1}), CategoryTheory.Iso.{u1, succ u1} Profinite.{u1} Profinite.category.{u1} X (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)))
-but is expected to have type
-  forall (X : Profinite.{u1}), CategoryTheory.Iso.{u1, succ u1} Profinite.{u1} Profinite.category.{u1} X (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)))
-Case conversion may be inaccurate. Consider using '#align Profinite.iso_as_limit_cone_lift Profinite.isoAsLimitConeLiftₓ'. -/
 /-- The isomorphism between `X` and the explicit limit of `X.diagram`,
 induced by lifting `X.as_limit_cone`.
 -/
@@ -115,12 +88,6 @@ def isoAsLimitConeLift : X ≅ (limitCone X.diagram).pt :=
   asIso <| (limitConeIsLimit _).lift X.asLimitCone
 #align Profinite.iso_as_limit_cone_lift Profinite.isoAsLimitConeLift
 
-/- warning: Profinite.as_limit_cone_iso -> Profinite.asLimitConeIso is a dubious translation:
-lean 3 declaration is
-  forall (X : Profinite.{u1}), CategoryTheory.Iso.{u1, succ u1} (CategoryTheory.Limits.Cone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)) (CategoryTheory.Limits.Cone.category.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)) (Profinite.asLimitCone.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X))
-but is expected to have type
-  forall (X : Profinite.{u1}), CategoryTheory.Iso.{u1, succ u1} (CategoryTheory.Limits.Cone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)) (CategoryTheory.Limits.Cone.category.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)) (Profinite.asLimitCone.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X))
-Case conversion may be inaccurate. Consider using '#align Profinite.as_limit_cone_iso Profinite.asLimitConeIsoₓ'. -/
 /-- The isomorphism of cones `X.as_limit_cone` and `Profinite.limit_cone X.diagram`.
 The underlying isomorphism is defeq to `X.iso_as_limit_cone_lift`.
 -/
@@ -128,23 +95,11 @@ def asLimitConeIso : X.asLimitCone ≅ limitCone _ :=
   Limits.Cones.ext (isoAsLimitConeLift _) fun _ => rfl
 #align Profinite.as_limit_cone_iso Profinite.asLimitConeIso
 
-/- warning: Profinite.as_limit -> Profinite.asLimit is a dubious translation:
-lean 3 declaration is
-  forall (X : Profinite.{u1}), CategoryTheory.Limits.IsLimit.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.asLimitCone.{u1} X)
-but is expected to have type
-  forall (X : Profinite.{u1}), CategoryTheory.Limits.IsLimit.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.asLimitCone.{u1} X)
-Case conversion may be inaccurate. Consider using '#align Profinite.as_limit Profinite.asLimitₓ'. -/
 /-- `X.as_limit_cone` is indeed a limit cone. -/
 def asLimit : CategoryTheory.Limits.IsLimit X.asLimitCone :=
   Limits.IsLimit.ofIsoLimit (limitConeIsLimit _) X.asLimitConeIso.symm
 #align Profinite.as_limit Profinite.asLimit
 
-/- warning: Profinite.lim -> Profinite.lim is a dubious translation:
-lean 3 declaration is
-  forall (X : Profinite.{u1}), CategoryTheory.Limits.LimitCone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)
-but is expected to have type
-  forall (X : Profinite.{u1}), CategoryTheory.Limits.LimitCone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)
-Case conversion may be inaccurate. Consider using '#align Profinite.lim Profinite.limₓ'. -/
 /-- A bundled version of `X.as_limit_cone` and `X.as_limit`. -/
 def lim : Limits.LimitCone X.diagram :=
   ⟨X.asLimitCone, X.asLimit⟩
Diff
@@ -86,10 +86,7 @@ def asLimitCone : CategoryTheory.Limits.Cone X.diagram :=
 #align Profinite.as_limit_cone Profinite.asLimitCone
 
 /- warning: Profinite.is_iso_as_limit_cone_lift -> Profinite.isIso_asLimitCone_lift is a dubious translation:
-lean 3 declaration is
-  forall (X : Profinite.{u1}), CategoryTheory.IsIso.{u1, succ u1} Profinite.{u1} Profinite.category.{u1} (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.asLimitCone.{u1} X)) (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X))) (CategoryTheory.Limits.IsLimit.lift.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)) (Profinite.limitConeIsLimit.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)) (Profinite.asLimitCone.{u1} X))
-but is expected to have type
-  forall (X : Profinite.{u1}), CategoryTheory.IsIso.{u1, succ u1} Profinite.{u1} Profinite.category.{u1} (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.asLimitCone.{u1} X)) (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X))) (CategoryTheory.Limits.IsLimit.lift.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)) (Profinite.limitConeIsLimit.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)) (Profinite.asLimitCone.{u1} X))
+<too large>
 Case conversion may be inaccurate. Consider using '#align Profinite.is_iso_as_limit_cone_lift Profinite.isIso_asLimitCone_liftₓ'. -/
 instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asLimitCone) :=
   isIso_of_bijective _
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Calle Sönne, Adam Topaz
 
 ! This file was ported from Lean 3 source module topology.category.Profinite.as_limit
-! leanprover-community/mathlib commit d101e93197bb5f6ea89bd7ba386b7f7dff1f3903
+! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.Topology.DiscreteQuotient
 /-!
 # Profinite sets as limits of finite sets.
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We show that any profinite set is isomorphic to the limit of its
 discrete (hence finite) quotients.
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Calle Sönne, Adam Topaz
 
 ! This file was ported from Lean 3 source module topology.category.Profinite.as_limit
-! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
+! leanprover-community/mathlib commit d101e93197bb5f6ea89bd7ba386b7f7dff1f3903
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,9 +14,6 @@ import Mathbin.Topology.DiscreteQuotient
 /-!
 # Profinite sets as limits of finite sets.
 
-> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
-> Any changes to this file require a corresponding PR to mathlib4.
-
 We show that any profinite set is isomorphic to the limit of its
 discrete (hence finite) quotients.
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Calle Sönne, Adam Topaz
 
 ! This file was ported from Lean 3 source module topology.category.Profinite.as_limit
-! leanprover-community/mathlib commit d101e93197bb5f6ea89bd7ba386b7f7dff1f3903
+! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.Topology.DiscreteQuotient
 /-!
 # Profinite sets as limits of finite sets.
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We show that any profinite set is isomorphic to the limit of its
 discrete (hence finite) quotients.
 
Diff
@@ -44,6 +44,12 @@ universe u
 
 variable (X : Profinite.{u})
 
+/- warning: Profinite.fintype_diagram -> Profinite.fintypeDiagram is a dubious translation:
+lean 3 declaration is
+  forall (X : Profinite.{u1}), CategoryTheory.Functor.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) FintypeCat.{u1} FintypeCat.CategoryTheory.category.{u1}
+but is expected to have type
+  forall (X : Profinite.{u1}), CategoryTheory.Functor.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) FintypeCat.{u1} FintypeCat.instCategoryFintypeCat.{u1}
+Case conversion may be inaccurate. Consider using '#align Profinite.fintype_diagram Profinite.fintypeDiagramₓ'. -/
 /-- The functor `discrete_quotient X ⥤ Fintype` whose limit is isomorphic to `X`. -/
 def fintypeDiagram : DiscreteQuotient X ⥤ FintypeCat
     where
@@ -53,17 +59,35 @@ def fintypeDiagram : DiscreteQuotient X ⥤ FintypeCat
   map S T f := DiscreteQuotient.ofLE f.le
 #align Profinite.fintype_diagram Profinite.fintypeDiagram
 
+/- warning: Profinite.diagram -> Profinite.diagram is a dubious translation:
+lean 3 declaration is
+  forall (X : Profinite.{u1}), CategoryTheory.Functor.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1}
+but is expected to have type
+  forall (X : Profinite.{u1}), CategoryTheory.Functor.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1}
+Case conversion may be inaccurate. Consider using '#align Profinite.diagram Profinite.diagramₓ'. -/
 /-- An abbreviation for `X.fintype_diagram ⋙ Fintype_to_Profinite`. -/
 abbrev diagram : DiscreteQuotient X ⥤ Profinite :=
   X.fintypeDiagram ⋙ FintypeCat.toProfinite
 #align Profinite.diagram Profinite.diagram
 
+/- warning: Profinite.as_limit_cone -> Profinite.asLimitCone is a dubious translation:
+lean 3 declaration is
+  forall (X : Profinite.{u1}), CategoryTheory.Limits.Cone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)
+but is expected to have type
+  forall (X : Profinite.{u1}), CategoryTheory.Limits.Cone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)
+Case conversion may be inaccurate. Consider using '#align Profinite.as_limit_cone Profinite.asLimitConeₓ'. -/
 /-- A cone over `X.diagram` whose cone point is `X`. -/
 def asLimitCone : CategoryTheory.Limits.Cone X.diagram :=
   { pt
     π := { app := fun S => ⟨S.proj, S.proj_isLocallyConstant.Continuous⟩ } }
 #align Profinite.as_limit_cone Profinite.asLimitCone
 
+/- warning: Profinite.is_iso_as_limit_cone_lift -> Profinite.isIso_asLimitCone_lift is a dubious translation:
+lean 3 declaration is
+  forall (X : Profinite.{u1}), CategoryTheory.IsIso.{u1, succ u1} Profinite.{u1} Profinite.category.{u1} (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.asLimitCone.{u1} X)) (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X))) (CategoryTheory.Limits.IsLimit.lift.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)) (Profinite.limitConeIsLimit.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)) (Profinite.asLimitCone.{u1} X))
+but is expected to have type
+  forall (X : Profinite.{u1}), CategoryTheory.IsIso.{u1, succ u1} Profinite.{u1} Profinite.category.{u1} (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.asLimitCone.{u1} X)) (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X))) (CategoryTheory.Limits.IsLimit.lift.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)) (Profinite.limitConeIsLimit.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)) (Profinite.asLimitCone.{u1} X))
+Case conversion may be inaccurate. Consider using '#align Profinite.is_iso_as_limit_cone_lift Profinite.isIso_asLimitCone_liftₓ'. -/
 instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asLimitCone) :=
   isIso_of_bijective _
     (by
@@ -78,6 +102,12 @@ instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asL
         apply hb)
 #align Profinite.is_iso_as_limit_cone_lift Profinite.isIso_asLimitCone_lift
 
+/- warning: Profinite.iso_as_limit_cone_lift -> Profinite.isoAsLimitConeLift is a dubious translation:
+lean 3 declaration is
+  forall (X : Profinite.{u1}), CategoryTheory.Iso.{u1, succ u1} Profinite.{u1} Profinite.category.{u1} X (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)))
+but is expected to have type
+  forall (X : Profinite.{u1}), CategoryTheory.Iso.{u1, succ u1} Profinite.{u1} Profinite.category.{u1} X (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X)))
+Case conversion may be inaccurate. Consider using '#align Profinite.iso_as_limit_cone_lift Profinite.isoAsLimitConeLiftₓ'. -/
 /-- The isomorphism between `X` and the explicit limit of `X.diagram`,
 induced by lifting `X.as_limit_cone`.
 -/
@@ -85,6 +115,12 @@ def isoAsLimitConeLift : X ≅ (limitCone X.diagram).pt :=
   asIso <| (limitConeIsLimit _).lift X.asLimitCone
 #align Profinite.iso_as_limit_cone_lift Profinite.isoAsLimitConeLift
 
+/- warning: Profinite.as_limit_cone_iso -> Profinite.asLimitConeIso is a dubious translation:
+lean 3 declaration is
+  forall (X : Profinite.{u1}), CategoryTheory.Iso.{u1, succ u1} (CategoryTheory.Limits.Cone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)) (CategoryTheory.Limits.Cone.category.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)) (Profinite.asLimitCone.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X))
+but is expected to have type
+  forall (X : Profinite.{u1}), CategoryTheory.Iso.{u1, succ u1} (CategoryTheory.Limits.Cone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)) (CategoryTheory.Limits.Cone.category.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)) (Profinite.asLimitCone.{u1} X) (Profinite.limitCone.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) (Profinite.diagram.{u1} X))
+Case conversion may be inaccurate. Consider using '#align Profinite.as_limit_cone_iso Profinite.asLimitConeIsoₓ'. -/
 /-- The isomorphism of cones `X.as_limit_cone` and `Profinite.limit_cone X.diagram`.
 The underlying isomorphism is defeq to `X.iso_as_limit_cone_lift`.
 -/
@@ -92,11 +128,23 @@ def asLimitConeIso : X.asLimitCone ≅ limitCone _ :=
   Limits.Cones.ext (isoAsLimitConeLift _) fun _ => rfl
 #align Profinite.as_limit_cone_iso Profinite.asLimitConeIso
 
+/- warning: Profinite.as_limit -> Profinite.asLimit is a dubious translation:
+lean 3 declaration is
+  forall (X : Profinite.{u1}), CategoryTheory.Limits.IsLimit.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.asLimitCone.{u1} X)
+but is expected to have type
+  forall (X : Profinite.{u1}), CategoryTheory.Limits.IsLimit.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X) (Profinite.asLimitCone.{u1} X)
+Case conversion may be inaccurate. Consider using '#align Profinite.as_limit Profinite.asLimitₓ'. -/
 /-- `X.as_limit_cone` is indeed a limit cone. -/
 def asLimit : CategoryTheory.Limits.IsLimit X.asLimitCone :=
   Limits.IsLimit.ofIsoLimit (limitConeIsLimit _) X.asLimitConeIso.symm
 #align Profinite.as_limit Profinite.asLimit
 
+/- warning: Profinite.lim -> Profinite.lim is a dubious translation:
+lean 3 declaration is
+  forall (X : Profinite.{u1}), CategoryTheory.Limits.LimitCone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.semilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} Profinite.{u1} Type.{u1} Profinite.hasCoeToSort.{u1} X) (TopCat.topologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)
+but is expected to have type
+  forall (X : Profinite.{u1}), CategoryTheory.Limits.LimitCone.{u1, u1, u1, succ u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (Preorder.smallCategory.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (PartialOrder.toPreorder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (SemilatticeInf.toPartialOrder.{u1} (DiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X)))) (DiscreteQuotient.instSemilatticeInfDiscreteQuotient.{u1} (CategoryTheory.Bundled.α.{u1, u1} TopologicalSpace.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))) (TopCat.topologicalSpace_coe.{u1} (CompHaus.toTop.{u1} (Profinite.toCompHaus.{u1} X))))))) Profinite.{u1} Profinite.category.{u1} (Profinite.diagram.{u1} X)
+Case conversion may be inaccurate. Consider using '#align Profinite.lim Profinite.limₓ'. -/
 /-- A bundled version of `X.as_limit_cone` and `X.as_limit`. -/
 def lim : Limits.LimitCone X.diagram :=
   ⟨X.asLimitCone, X.asLimit⟩
Diff
@@ -50,7 +50,7 @@ def fintypeDiagram : DiscreteQuotient X ⥤ FintypeCat
   obj S :=
     haveI := Fintype.ofFinite S
     FintypeCat.of S
-  map S T f := DiscreteQuotient.ofLe f.le
+  map S T f := DiscreteQuotient.ofLE f.le
 #align Profinite.fintype_diagram Profinite.fintypeDiagram
 
 /-- An abbreviation for `X.fintype_diagram ⋙ Fintype_to_Profinite`. -/
Diff
@@ -60,7 +60,7 @@ abbrev diagram : DiscreteQuotient X ⥤ Profinite :=
 
 /-- A cone over `X.diagram` whose cone point is `X`. -/
 def asLimitCone : CategoryTheory.Limits.Cone X.diagram :=
-  { x
+  { pt
     π := { app := fun S => ⟨S.proj, S.proj_isLocallyConstant.Continuous⟩ } }
 #align Profinite.as_limit_cone Profinite.asLimitCone
 
@@ -69,7 +69,7 @@ instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asL
     (by
       refine' ⟨fun a b h => _, fun a => _⟩
       · refine' DiscreteQuotient.eq_of_forall_proj_eq fun S => _
-        apply_fun fun f : (limit_cone X.diagram).x => f.val S  at h
+        apply_fun fun f : (limit_cone X.diagram).pt => f.val S  at h
         exact h
       · obtain ⟨b, hb⟩ :=
           DiscreteQuotient.exists_of_compat (fun S => a.val S) fun _ _ h => a.prop (hom_of_le h)
@@ -81,7 +81,7 @@ instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asL
 /-- The isomorphism between `X` and the explicit limit of `X.diagram`,
 induced by lifting `X.as_limit_cone`.
 -/
-def isoAsLimitConeLift : X ≅ (limitCone X.diagram).x :=
+def isoAsLimitConeLift : X ≅ (limitCone X.diagram).pt :=
   asIso <| (limitConeIsLimit _).lift X.asLimitCone
 #align Profinite.iso_as_limit_cone_lift Profinite.isoAsLimitConeLift
 

Changes in mathlib4

mathlib3
mathlib4
chore(Profinite): allow more universe flexibility in Profinite/CofilteredLimit (#8613)

We allow the indexing category for the cofiltered limit in the result Profinite.exists_locallyConstant to live in a smaller universe than our profinite sets.

Diff
@@ -64,12 +64,12 @@ def asLimitCone : CategoryTheory.Limits.Cone X.diagram :=
 set_option linter.uppercaseLean3 false in
 #align Profinite.as_limit_cone Profinite.asLimitCone
 
-instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asLimitCone) :=
+instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit.{u, u} X.diagram).lift X.asLimitCone) :=
   isIso_of_bijective _
     (by
       refine' ⟨fun a b h => _, fun a => _⟩
       · refine' DiscreteQuotient.eq_of_forall_proj_eq fun S => _
-        apply_fun fun f : (limitCone X.diagram).pt => f.val S at h
+        apply_fun fun f : (limitCone.{u, u} X.diagram).pt => f.val S at h
         exact h
       · obtain ⟨b, hb⟩ :=
           DiscreteQuotient.exists_of_compat (fun S => a.val S) fun _ _ h => a.prop (homOfLE h)
@@ -87,15 +87,15 @@ set_option linter.uppercaseLean3 false in
 /-- The isomorphism between `X` and the explicit limit of `X.diagram`,
 induced by lifting `X.asLimitCone`.
 -/
-def isoAsLimitConeLift : X ≅ (limitCone X.diagram).pt :=
-  asIso <| (limitConeIsLimit _).lift X.asLimitCone
+def isoAsLimitConeLift : X ≅ (limitCone.{u, u} X.diagram).pt :=
+  asIso <| (limitConeIsLimit.{u, u} _).lift X.asLimitCone
 set_option linter.uppercaseLean3 false in
 #align Profinite.iso_as_limit_cone_lift Profinite.isoAsLimitConeLift
 
 /-- The isomorphism of cones `X.asLimitCone` and `Profinite.limitCone X.diagram`.
 The underlying isomorphism is defeq to `X.isoAsLimitConeLift`.
 -/
-def asLimitConeIso : X.asLimitCone ≅ limitCone _ :=
+def asLimitConeIso : X.asLimitCone ≅ limitCone.{u, u} _ :=
   Limits.Cones.ext (isoAsLimitConeLift _) fun _ => rfl
 set_option linter.uppercaseLean3 false in
 #align Profinite.as_limit_cone_iso Profinite.asLimitConeIso
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) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Calle Sönne, Adam Topaz
-
-! This file was ported from Lean 3 source module topology.category.Profinite.as_limit
-! leanprover-community/mathlib commit d101e93197bb5f6ea89bd7ba386b7f7dff1f3903
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Topology.Category.Profinite.Basic
 import Mathlib.Topology.DiscreteQuotient
 
+#align_import topology.category.Profinite.as_limit from "leanprover-community/mathlib"@"d101e93197bb5f6ea89bd7ba386b7f7dff1f3903"
+
 /-!
 # Profinite sets as limits of finite sets.
 
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊢ -> some_tactic at h ⊢
  • some_tactic at h -> some_tactic at h
Diff
@@ -72,7 +72,7 @@ instance isIso_asLimitCone_lift : IsIso ((limitConeIsLimit X.diagram).lift X.asL
     (by
       refine' ⟨fun a b h => _, fun a => _⟩
       · refine' DiscreteQuotient.eq_of_forall_proj_eq fun S => _
-        apply_fun fun f : (limitCone X.diagram).pt => f.val S  at h
+        apply_fun fun f : (limitCone X.diagram).pt => f.val S at h
         exact h
       · obtain ⟨b, hb⟩ :=
           DiscreteQuotient.exists_of_compat (fun S => a.val S) fun _ _ h => a.prop (homOfLE h)
chore: tidy various files (#3996)
Diff
@@ -25,10 +25,10 @@ There are a handful of definitions in this file, given `X : Profinite`:
 2. `X.diagram` is an abbreviation for `X.fintypeDiagram ⋙ FintypeCat.toProfinite`.
 3. `X.asLimitCone` is the cone over `X.diagram` whose cone point is `X`.
 4. `X.isoAsLimitConeLift` is the isomorphism `X ≅ (Profinite.limitCone X.diagram).X` induced
-  by lifting `X.as_limit_cone`.
+  by lifting `X.asLimitCone`.
 5. `X.asLimitConeIso` is the isomorphism `X.asLimitCone ≅ (Profinite.limitCone X.diagram)`
   induced by `X.isoAsLimitConeLift`.
-6. `X.asLimit` is a term of type `is_limit X.asLimitCone`.
+6. `X.asLimit` is a term of type `IsLimit X.asLimitCone`.
 7. `X.lim : CategoryTheory.Limits.LimitCone X.asLimitCone` is a bundled combination of 3 and 6.
 
 -/
feat: port Topology.Category.Profinite.AsLimit (#3875)

Co-authored-by: int-y1 <jason_yuen2007@hotmail.com>

Dependencies 10 + 744

745 files ported (98.7%)
310220 lines ported (98.3%)
Show graph

The unported dependencies are

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