scicraft/LeanCat huggingface dataset:
Domain: Category | Level: Medium | Tags: Limit

Theorem: The forgetful functor $U$ : $\mathcal{G}\mathrm{rp}$, $\mathcal{A}\mathrm{b}$, $\mathcal{R}\mathrm{ing}\to \mathcal{S}\mathrm{et}$ creates limits, but they do not preserve coproducts.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

theorem forget_Grp_createsLimits_but_not_coproducts : 
    Nonempty (CreatesLimits (forget Grp.{u})) ∧ 
    ¬ Nonempty (PreservesColimitsOfShape (Discrete Bool) (forget Grp.{u})) := by
  sorry

theorem forget_Ab_createsLimits_but_not_coproducts : 
    Nonempty (CreatesLimits (forget Ab.{u})) ∧ 
    ¬ Nonempty (PreservesColimitsOfShape (Discrete Bool) (forget Ab.{u})) := by
  sorry

theorem forget_RingCat_createsLimits_but_not_coproducts : 
    Nonempty (CreatesLimits (forget RingCat.{u})) ∧ 
    ¬ Nonempty (PreservesColimitsOfShape (Discrete Bool) (forget RingCat.{u})) := by
  sorry
Domain: Category | Level: High | Tags: Limit

Theorem: Let $\mathcal{C}$ and $\mathcal{D}$ be categories and let $G:\mathcal{D}\to \mathcal{C}$ be a functor.
    Then $G : \mathcal{D} \to \mathcal{C}$ has a left adjoint if and only if the right Kan extension $\mathrm{Ran}_G \mathrm{Id}_{\mathcal{D}} : C \to D$ exists and is preserved by $G$ (i.e.$G \circ \mathrm{Ran}_G\mathrm{Id}_{\mathcal{D}}\simeq \mathrm{Ran}_K(G \circ \mathrm{Id}_{\mathcal{D}}))$.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Functor

variable {C : Type u₁} [Category.{v₁} C] {D : Type u₂} [Category.{v₂} D]

theorem hasLeftAdjoint_iff_ran_id_preserved (G : D ⥤ C) :
    G.IsRightAdjoint ↔ 
    ∃ (R : C ⥤ D) (α : G ⋙ R ⟶ 𝟭 D), 
      R.IsRightKanExtension α ∧ 
      (R ⋙ G).IsRightKanExtension ((associator G R G).inv ≫ whiskerRight α G ≫ (leftUnitor G).hom) := by
  sorry
Domain: Category | Level: Medium | Tags: Limit
Reference: Exercise 13F, Adámek, J., Herrlich, H. and Strecker, G., 1990. Abstract and concrete categories. Wiley-Interscience.

Theorem: A functor that reflects equalizers (or finite products) reflects isomorphisms.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits


variable {C : Type u} [Category.{v} C] {D : Type u'} [Category.{v'} D]

theorem reflectsIsomorphisms_of_reflects_equalizers (F : C ⥤ D)
    [ReflectsLimitsOfShape WalkingParallelPair F] : F.ReflectsIsomorphisms := by
  sorry

theorem reflectsIsomorphisms_of_reflects_finite_products (F : C ⥤ D)
    [ReflectsLimitsOfShape (Discrete PEmpty) F] [ReflectsLimitsOfShape (Discrete WalkingPair) F] :
    F.ReflectsIsomorphisms := by
  sorry
Domain: Category | Level: High | Tags: Limit

Definition: Let $\mathcal C$ be a locally small category. 
An object $c \in\mathcal C$ is called $\textbf{compact}$ if $\mathrm{hom}_{\mathcal C} (c,-)$ preserves filtered colimits.


Theorem: A topological space $X$ is compact if and only if it is a compact object in the category $\mathcal{O}\mathrm{p}(X)$, the category of open subsets of $X$.

Lean 4 formal statement:
import Mathlib

open CategoryTheory

namespace CAT_statement_S_0058

universe u

variable (X : Type u) [TopologicalSpace X]

abbrev Op (X : Type u) [TopologicalSpace X] := TopologicalSpace.Opens X

theorem compactSpace_iff_finitelyPresented_top :
    CompactSpace X ↔ IsFinitelyPresentable (C := Op X) (⊤ : Op X) := by
  sorry

end CAT_statement_S_0058
Domain: Category | Level: High | Tags: Limit
Reference: Exercise 13D(b), Adámek, J., Herrlich, H. and Strecker, G., 1990. Abstract and concrete categories. Wiley-Interscience.

Definition: A functor $F : \mathcal C \to \mathcal D$ is said to $\textbf{lift limits}$ if for every diagram $D: \mathcal I\to \mathcal C$ and every limit $L$ of $F\circ D$, there exists a limit $L'\in\mathcal D$ such that $F(L')\cong L$.


Theorem: There is a functor that lifts limits but is not faithful.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

namespace CAT_statement_S_0059

universe w' w'₁ w w₁ v₁ v₂ v₃ u₁ u₂ u₃

variable {C : Type u₁} [Category.{v₁} C]
variable {D : Type u₂} [Category.{v₂} D]
variable {J : Type w} [Category.{w'} J] {K : J ⥤ C}

structure LiftableCone₂ (K : J ⥤ C) (F : C ⥤ D) (c : Cone (K ⋙ F)) where

  liftedCone : Cone K

  validLift : F.mapCone liftedCone ≅ c
  isLimit : IsLimit liftedCone

class LiftsLimit (K : J ⥤ C) (F : C ⥤ D) where

  lifts : ∀ c, IsLimit c → LiftableCone₂ K F c

theorem exists_functor_lifts_limit_and_not_faithful :
    ∃ (C : Type (u₁+1)) (_ : Category.{u₁} C) (D : Type u₂) (_ : Category.{u₂} D) (F : C ⥤ D), (∀ (J : Type u₁) (_ : Category.{w'} J) (K : J ⥤ C), Nonempty (LiftsLimit K F)) ∧
    ¬ F.Faithful := by
  sorry

end CAT_statement_S_0059
Domain: Category | Level: High | Tags: Limit

Theorem: Suppose $\mathcal{B}$ is locally small, complete, has a small coseparating set $S$, and has the property that every family of subobjects has an intersection. Then $\mathcal{B}$ has an initial object.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

theorem has_initial_of_locally_small_complete_coseparating {ℬ : Type u} [Category.{v} ℬ] 
    [LocallySmall.{w} ℬ] [HasLimitsOfSize.{w, w} ℬ] {S : Set ℬ} [Small.{w} S] 
    (hS : IsCoseparating S) (h : ∀ (A : ℬ), ∀ (s : Set (Subobject A)), ∃ (f : Subobject A), 
    IsGLB s f) : HasInitial ℬ := by
  sorry
Domain: Category | Level: High | Tags: Limit

Theorem: Let $\mathcal{C} = \mathrm{Vec}_{\mathbb{k}}$ the category of finite dimensional vector spaces over a field $\mathbb{k}$. Then the coend of the hom functor $\mathrm{Hom} \colon \mathcal{C}^{\mathrm{op}} \times \mathcal{C} \to \mathcal{C}$ is $\mathbb{k}$ equipped with the usual trace maps $\mathrm{Hom}(V,V) \to \mathbb{k}$ for all $V \in \mathrm{Vec}_{\mathbb{k}}$.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

theorem coend_hom_is_trace_of_matrices
    (𝕜 : Type u) [Field 𝕜] :
    ∀ (F : (ModuleCat 𝕜)ᵒᵖ ⥤ ModuleCat 𝕜 ⥤ ModuleCat 𝕜),
      (∀ X Y, (F.obj (Opposite.op X)).obj Y ≅ ModuleCat.of 𝕜 (X →ₗ[𝕜] Y)) →
      ∃ (T : ModuleCat 𝕜),
        (∃ (tr : ∀ X, (F.obj (Opposite.op X)).obj X ⟶ T),

          Nonempty (IsColimit (Cofan.mk T tr))) := by
  sorry
Domain: Category | Level: High | Tags: Limit
Reference: Exercise 12N(b), Adámek, J., Herrlich, H. and Strecker, G., 1990. Abstract and concrete categories. Wiley-Interscience.

Definition: Let $\mathcal C$ be a category. Let $S$ be a family of subobjects $(s_n,i_n)$ of an object $c\in \mathcal C$, indexed by a class $I$. 
A subobject $(x,i:x\to c)$ of $c$ is called an $\textbf{intersection}$ of $S$ provided that the following two conditions are satisfied:

(1) $i$ factors through each $i_n$ i.e., for each $n$ there exists an $f_n:x\to s_n$ with $i = i_n \circ  f_n$,

(2) if a morphism $f: z\to c$ factors through each $i_n$, then it factors through $i$.

Definition: A category $\mathcal C$ is said to $\textbf{have intersections}$ if for each object $c\in\mathcal C$ and every family of subobjects of $c$, there exists an intersection.

Definition: A category is said to be $\textbf{strongly complete}$ if it is complete and has intersections.


Theorem: A strongly cocomplete category with a separating set is strongly complete.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

namespace CAT_statement_S_0062

universe u v
variable {C : Type u} [Category.{v} C]

def IsIntersectionOf {B : C} (A : Subobject B) (S : Set (Subobject B)) : Prop :=
   (∀ Ai, Ai ∈ S → A ≤ Ai) ∧
  (∀ A' : Subobject B, (∀ Ai, Ai ∈ S → A' ≤ Ai) → A' ≤ A)

def HasIntersections (C : Type u) [Category.{v} C]: Prop :=
  ∀ (B : C) (S : Set (Subobject B)),
    ∃ A : Subobject B, IsIntersectionOf (C := C) (B := B) A S

class StronglyComplete (C : Type u) [Category.{v} C] : Prop where
  complete: HasLimits C
  hasinter: HasIntersections C

class StronglyCocomplete (C : Type u) [Category.{v} C] : Prop where
  dual: StronglyComplete (C:=Cᵒᵖ)

theorem strongly_complete_of_strongly_cocomplete_of_separating_set [StronglyComplete Cᵒᵖ] {𝒢 : Set C} [Small.{v} 𝒢] (h𝒢 : IsSeparating 𝒢) :
    StronglyComplete C := by
  sorry

end CAT_statement_S_0062
Domain: Category | Level: High | Tags: Limit

Definition: Let $\mathcal C$ be a locally small category. 
An object $c \in\mathcal C$ is called $\textbf{compact}$ if $\mathrm{hom}_{\mathcal C} (x,-)$ preserves filtered colimits.


Theorem: For $\mathcal{G}\mathrm{rp}$, an object is compact if and only if it is finitely presented as a group. Every group can be realized as a direct limit of finitely presented groups.

Lean 4 formal statement:
import Mathlib

open CategoryTheory

namespace CAT_statement_S_0063

universe u

def IsFinitelyPresentedGrp (X : Type u) [Group X] : Prop :=
    ∃ (α : Type u) (rels : Set (FreeGroup α)), Finite α ∧ rels.Finite ∧ Nonempty (X ≃* PresentedGroup rels)

theorem isCompactObject_Grp_iff_finite_presented (X : Type u) [Group X] :
    CategoryTheory.IsFinitelyPresentable (Grp.of X) ↔ IsFinitelyPresentedGrp X := by
  sorry


theorem group_realized_as_direct_limit_of_finitely_presented_groups (X : Type u) [Group X] :
    ∃ (J : Type u) (inst₁ : CategoryTheory.SmallCategory J) (inst₂ : CategoryTheory.IsFiltered J) (F : CategoryTheory.Functor J Grp), ∀ (j : J), IsFinitelyPresentedGrp (F.obj j) ∧ Nonempty (X ≃* Grp.FilteredColimits.colimit F) := by
    sorry

end CAT_statement_S_0063
Domain: Category | Level: High | Tags: Limit

Definition: Let $\mathcal C$ be a locally small category. 
An object $c \in\mathcal C$ is called $\textbf{compact}$ if $\mathrm{hom}_{\mathcal C} (x,-)$ preserves filtered colimits.


Theorem: Let $A$ be a ring. 
    For the category of right $A$-modules $\mathcal{A}\mathrm{b}_A$, an object is compact if and only if it is a finitely presentable $A$-module. Every $A$-module can be realized as a direct limit of finitely presented A-module.

Lean 4 formal statement:
import Mathlib

open CategoryTheory

universe u v w

theorem isCompactObject_Grp_iff_finite_presented {A : Type u} [Ring A] (X : Type v) [Group X] [AddCommGroup X] [Module A X] : CategoryTheory.IsFinitelyPresentable (ModuleCat.of A X) ↔ Module.FinitePresentation A X := by
    sorry


theorem module_realized_as_direct_limit_of_finitely_presented_modules (A : Type u) [Ring A] (X : Type v) [AddCommGroup X] [Module A X] :
    ∃ (J : Type w) (inst₁ : CategoryTheory.SmallCategory J) (inst₂ : CategoryTheory.IsFiltered J) (F : CategoryTheory.Functor J (ModuleCat A)), ∀ (j : J), Module.FinitePresentation A (F.obj j) ∧ Nonempty (X ≃ₗ[A] ModuleCat.FilteredColimits.colimit F) := by
    sorry
Domain: Category | Level: High | Tags: Limit

Theorem: Let $\mathcal{C}$ be a complete, wellpowered, cowellpowered and have a separator $s$.
    Then $\mathcal{C}$ is cocomplete if and only if for each set $I$, there exists an $I$-th copower of $S$ in $\mathcal{C}$.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

variable {C : Type u} [Category.{v} C]

theorem hasColimits_iff_hasCoprod_of_separator
    [HasLimits C]
    [WellPowered C]
    [WellPowered Cᵒᵖ]
    (S : C) (hS : IsSeparator S) :
    HasColimits C ↔ ∀ (I : Type v), HasColimit (Discrete.functor (fun (_ : I) => S)) := by
  sorry
Domain: Category | Level: High | Tags: Limit
Reference: Exercise 12N(c), Adámek, J., Herrlich, H. and Strecker, G., 1990. Abstract and concrete categories. Wiley-Interscience.

Definition: Let $\mathcal C$ be a category. Let $S$ be a family of subobjects $(s_n,i_n)$ of an object $c\in \mathcal C$, indexed by a class $I$. 
A subobject $(x,i:x\to c)$ of $c$ is called an $\textbf{intersection}$ of $S$ provided that the following two conditions are satisfied:

(1) $i$ factors through each $i_n$ i.e., for each $n$ there exists an $f_n:x\to s_n$ with $i = i_n \circ  f_n$,

(2) if a morphism $f: z\to c$ factors through each $i_n$, then it factors through $i$.

Definition: A category $\mathcal C$ is said to $\textbf{have intersections}$ if for each object $c\in\mathcal C$ and every family of subobjects of c, there exists an intersection.

Definition: A category is said to be $\textbf{strongly complete}$ if it is complete and has intersections.

Definition: A category $\mathcal C$ is strongly cocomplete if $\mathcal C^{op}$ is strongly complete.


Theorem: There is a strongly cocomplete category with a separator that is neither wellpowered nor co-wellpowered.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

namespace CAT_statement_S_0066

universe u v
variable {C : Type u} [Category.{v} C]

def IsIntersectionOf {B : C} (A : Subobject B) (S : Set (Subobject B)) : Prop :=
   (∀ Ai, Ai ∈ S → A ≤ Ai) ∧
  (∀ A' : Subobject B, (∀ Ai, Ai ∈ S → A' ≤ Ai) → A' ≤ A)

def HasIntersections (C : Type u) [Category.{v} C]: Prop :=
  ∀ (B : C) (S : Set (Subobject B)),
    ∃ A : Subobject B, IsIntersectionOf (C := C) (B := B) A S

class StronglyComplete (C : Type u) [Category.{v} C] : Prop where
  complete: HasLimits C
  hasinter: HasIntersections C

class StronglyCocomplete (C : Type u) [Category.{v} C] : Prop where
  dual: StronglyComplete (C:=Cᵒᵖ)


theorem exists_cocomplete_separator_not_wellPowered_not_coWellPowered :
    ∃ (C : Type u) (_ : Category.{v} C),
    StronglyCocomplete C ∧ HasSeparator C ∧
    ¬ WellPowered.{v} C ∧ ¬ WellPowered.{v} Cᵒᵖ := by
  sorry

end CAT_statement_S_0066
Domain: Category | Level: Medium | Tags: Limit

Theorem: Let $\omega$ be the ordinal of natural numbers.
    Consider $F:\omega^{op}\to \mathcal{R}\mathrm{ing}$ with $F_n:=k[x]/(x^n)$ and $f_n:k[x]/(x^{n+1})\to k[x]/(x^n)$.
    Then the limit exists and is isomorphic to $k[[x]]$.

Lean 4 formal statement:
import Mathlib
open CategoryTheory Polynomial Limits

universe u

namespace CAT_statement_S_0067

variable (k : Type u) [Field k]

noncomputable def F : Natᵒᵖ ⥤ RingCat :=
  {
    obj := fun ⟨n⟩ => RingCat.of ((k[X] ⧸ Ideal.span {(X ^ n : k[X])}))
    map := fun {A B} f => match A, B with
      | ⟨n⟩, ⟨m⟩ => match f with
        | ⟨⟨⟨(f : m ≤ n)⟩⟩⟩ =>
          RingCat.ofHom (Ideal.Quotient.factor (Ideal.span_singleton_le_span_singleton.mpr (pow_dvd_pow X f)))
  }

lemma quotCommTrunc {n : ℕ} (p : k[X]) : (PowerSeries.trunc n p : k[X]) = (p : k[X] ⧸ Ideal.span {(X ^ n : k[X])}) := by
  rw [Ideal.Quotient.eq, Ideal.mem_span_singleton, X_pow_dvd_iff]
  intro d hd
  simp [PowerSeries.coeff_trunc, hd]

noncomputable def truncQuot (n : ℕ) : PowerSeries k →+* RingCat.of ((k[X] ⧸ Ideal.span {(X ^ n : k[X])})) where
  toFun := fun x => PowerSeries.trunc n x
  map_zero' := by simp
  map_one' := by
    match n with
    | 0 => rw [show X^0 = 1 by simp, Ideal.span_singleton_one]
           simp [Ideal.Quotient.zero_eq_one_iff]
    | n + 1 => simp
  map_add' := by simp
  map_mul' := fun x y => by
    rw [← PowerSeries.trunc_trunc_mul_trunc, ← coe_mul, ← (Ideal.Quotient.mk _).map_mul, quotCommTrunc k _]

noncomputable def cone_F : Cone (F k) :=
  {
    pt := RingCat.of (PowerSeries k)
    π := {
      app := fun ⟨n⟩ => RingCat.ofHom (truncQuot k n)
      naturality := by
        rintro ⟨n⟩ ⟨m⟩ ⟨⟨⟨(l : m ≤ n)⟩⟩⟩
        ext (x : PowerSeries k)
        simp [F, truncQuot, ← PowerSeries.trunc_trunc_of_le x l, quotCommTrunc k]
    }
  }

theorem power_series_islimit : Nonempty (IsLimit (cone_F k)) := by
  sorry

end CAT_statement_S_0067
Domain: Category | Level: High | Tags: Limit

Theorem: There is a category $\mathcal{C}$ such that there exists two regular epimorphisms $f:c\to d$ and $g:c'\to d'$ in which the product of $f$ and $g$ is not regularly epic.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

universe u


theorem regular_epimorphism_not_product_regular_epimorphism : ∃ (C : Type (u+1)) (inst : Category C) (c d c' d' : C) (f : c ⟶ d) (g : c' ⟶ d') (inst₁ : RegularEpi f) (inst₂ : RegularEpi g) (hasProd₁ : HasBinaryProduct c c') (hasProd₂ : HasBinaryProduct d d'), IsEmpty (RegularEpi (prod.map f g)) := by
  sorry
Domain: Category | Level: High | Tags: Limit
Reference: Exercise 11O, Adámek, J., Herrlich, H. and Strecker, G., 1990. Abstract and concrete categories. Wiley-Interscience.

Theorem: An abelian group is torsion free if and only if it is a directed colimit in $\mathcal{A}\mathrm{b}$ of free abelian groups.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits


theorem torsionFree_iff_isFilteredColimit_free
    (A : ModuleCat ℤ) :
    NoZeroSMulDivisors ℤ A ↔
      ∃ (J : Type) (_ : SmallCategory J) (_ : IsFiltered J)
        (F : J ⥤ ModuleCat ℤ),
        (∀ j : J, Module.Free ℤ (F.obj j)) ∧
        Nonempty (A ≅ colimit F) := by
  sorry
Domain: Category | Level: High | Tags: Limit
Reference: Exercise 13C, Adámek, J., Herrlich, H. and Strecker, G., 1990. Abstract and concrete categories. Wiley-Interscience.

Definition: A concrete category $(\mathcal C, U)$ over $\mathcal B$ is said to $\textbf{have (small) concrete limits}$ if $\mathcal C$ has all small limits and $U$ preserves them.


Theorem: Let $(\mathcal{C},U)$ have small concrete limits. 
    Then $U$ reflects small limits if and only if $U$ reflects isomorphisms.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

variable {C : Type u} [Category.{v} C]
variable {D : Type u'} [Category.{v'} D]
variable (U : C ⥤ D)


theorem reflects_limits_iff_reflects_isomorphisms_preserves_limits
    [HasLimitsOfSize.{v, v} C]
    [PreservesLimitsOfSize.{v, v} U]
    [CategoryTheory.Functor.Faithful U]
:
    ReflectsLimitsOfSize.{v, v} U ↔ U.ReflectsIsomorphisms := by
  sorry
Domain: Category | Level: Medium | Tags: Limit
Reference: Exercise 13D(a), Adámek, J., Herrlich, H. and Strecker, G., 1990. Abstract and concrete categories. Wiley-Interscience.

Definition: A functor $F : \mathcal C \to \mathcal D$ is said to $\textbf{lift limits}$ if for every diagram $D: \mathcal I\to \mathcal C$ and every limit $L$ of $F\circ D$, there exists a limit $L'\in\mathcal D$ such that $F(L')\cong L$.


Theorem: A functor that lifts equalizers is faithful if and only if it reflects epimorphisms.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

namespace CAT_statement_S_0071

universe uC vC uD vD w w'

variable {C : Type uC} [Category.{vC} C]
variable {D : Type uD} [Category.{vD} D]
variable (F : C ⥤ D)
variable {J : Type w} [Category.{w'} J]

class LiftsLimit  (K : J ⥤ C) (F : C ⥤ D): Prop where
    lifts {c : Cone (K ⋙ F)} (hc : IsLimit c) :
      ∃ c' : Cone K, Nonempty (IsLimit c') ∧ Nonempty (F.mapCone c' ≅ c)

class LiftsLimitsOfShape (J : Type w) [Category.{w'} J] (F : C ⥤ D) : Prop where
  liftsLimit : ∀ {K : J ⥤ C}, LiftsLimit K F := by infer_instance

theorem functor_faithful_iff_reflectsEpimorphisms_of_liftsEqualizers
    [LiftsLimitsOfShape Limits.WalkingParallelPair F] :
    F.Faithful ↔ F.ReflectsEpimorphisms := by
  sorry

end CAT_statement_S_0071
Domain: Category | Level: High | Tags: Limit
Reference: Exercise 12K, Adámek, J., Herrlich, H. and Strecker, G., 1990. Abstract and concrete categories. Wiley-Interscience.

Theorem: A full subcategory of the category $\mathcal{T}\mathrm{op}^{CH}$ of compact Hausdorff spaces is reflective if and only if it is cocomplete and contains at least one non-empty space.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits Topology

universe u

variable {D : Type (u+1)} [Category.{u} D]
variable (i : D ⥤ CompHaus.{u})
variable [CategoryTheory.Functor.Full i] [CategoryTheory.Functor.Faithful i]

theorem reflective_iff_cocomplete_and_contains_nonempty_of_full_subcategory_CompHaus :
    Nonempty (CategoryTheory.Reflective i) ↔
      (Nonempty (HasColimits D) ∧ ∃ X : D, Nonempty (i.obj X)) := by
  sorry
Domain: Category | Level: Medium | Tags: Limit

Definition: A functor $F : \mathcal C \to \mathcal D$ is said to $\textbf{lift limits}$ if for every diagram $D: \mathcal I\to \mathcal C$ and every limit $L$ of $F\circ D$, there exists a limit $L'\in\mathcal D$ such that $F(L')\cong L$.


Theorem: The forgetful functor $U:\mathcal{T}\mathrm{op}\to \mathcal{S}\mathrm{et}$ lifts limits, but not reflects limits.

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

namespace CAT_statement_S_0073

universe w' w₂' w w₂ v₁ v₂ v₃ u₁ u₂ u₃

variable {C : Type u₁} [Category.{v₁} C]
variable {D : Type u₂} [Category.{v₂} D]
variable {J : Type w} [Category.{w'} J] {K : J ⥤ C}

class LiftsLimit  (K : J ⥤ C) (F : C ⥤ D): Prop where
    lifts {c : Cone (K ⋙ F)} (hc : IsLimit c) :
      ∃ c' : Cone K, Nonempty (IsLimit c') ∧ Nonempty (F.mapCone c' ≅ c)

class LiftsLimitsOfShape (J : Type w) [Category.{w'} J] (F : C ⥤ D) : Prop where
  liftsLimit : ∀ {K : J ⥤ C}, LiftsLimit K F := by infer_instance

@[nolint checkUnivs, pp_with_univ]
class LiftsLimitsOfSize (F : C ⥤ D) : Prop where
  liftsLimitsOfShape : ∀ {J : Type w} [Category.{w'} J], LiftsLimitsOfShape J F := by
    infer_instance

abbrev LiftsLimits (F : C ⥤ D) :=
  LiftsLimitsOfSize.{v₂, v₂} F

theorem TopCat_forget_lifts_and_not_reflects_limits :
    LiftsLimits (forget TopCat) ∧ IsEmpty (ReflectsLimits (forget TopCat)):= by
  sorry

end CAT_statement_S_0073
Domain: Category | Level: High | Tags: Cocompletion
Reference: Corollary A.5, Jiří Adámek, Liang-Ting Chen, Stefan Milius, and Henning Urbat, Reiterman's Theorem on Finite Algebras for a Monad, arXiv:2101.00942

Theorem: Let $\mathcal C$ be a small category. A category $\mathcal L$ containing $\mathcal C$ as a full subcategory is an
pro-completion of $\mathcal C$ if and only if the following conditions hold:

(1) $\mathcal L$ has cofiltered colimits,

(2) every object of $\mathcal L$ is the colimit of a cofiltered diagram in $\mathcal C$, and

(3) every object of $\mathcal C$ is finitely copresentable in $\mathcal L$.

Reference: Corollary A.5, Jiří Adámek, Liang-Ting Chen, Stefan Milius, and Henning Urbat, Reiterman's Theorem on Finite Algebras for a Monad, arXiv:2101.00942

Lean 4 formal statement:
import Mathlib

open CategoryTheory Limits

universe u v w u₁ v₁

namespace CAT_statement_S_0074

noncomputable section


abbrev Pro (C : Type u) [Category.{v} C] : Type (max u (v + 1)) := (Ind (Cᵒᵖ))ᵒᵖ


abbrev proYoneda (C : Type u) [SmallCategory C] : C ⥤ Pro C :=
  CategoryTheory.opOp C ⋙ (CategoryTheory.Ind.yoneda (C := Cᵒᵖ)).op


def HasCofilteredColimits (L : Type u₁) [Category.{v₁} L] : Prop :=
  ∀ (J : Type w) [SmallCategory J] [IsCofiltered J], HasColimitsOfShape J L


def IsFinitelyCopresentable {L : Type u₁} [Category.{v₁} L] (X : L) : Prop :=
  CategoryTheory.IsFinitelyPresentable.{w} (C := Lᵒᵖ) (Opposite.op X)


def IsCofilteredColimitOf
    {C : Type u} [SmallCategory C] {L : Type u₁} [Category.{v₁} L]
    (ι : C ⥤ L) (X : L) : Prop :=
  ∃ (J : Type w) (hJ : SmallCategory J) (hC : IsCofiltered J), by

    let _ := hJ
    let _ := hC
    exact ∃ (F : J ⥤ C) (t : Cocone (F ⋙ ι)),
      Nonempty (IsColimit t) ∧ Nonempty (t.pt ≅ X)


def IsProCompletion
    {C : Type u} [SmallCategory C] {L : Type u₁} [Category.{v₁} L]
    (ι : C ⥤ L) : Prop :=
  ∃ (e : L ≌ Pro C), Nonempty (ι ⋙ e.functor ≅ proYoneda C)


def ProCompletionConditions
    {C : Type u} [SmallCategory C] {L : Type u₁} [Category.{v₁} L]
    (ι : C ⥤ L) : Prop :=
  HasCofilteredColimits.{w} L ∧
    (∀ X : L, IsCofilteredColimitOf.{u, w} ι X) ∧
      (∀ c : C, IsFinitelyCopresentable.{w} (ι.obj c))


theorem isProCompletion_iff_intrinsic_conditions
    {C : Type u} [SmallCategory C] {L : Type u₁} [Category.{v₁} L]
    (ι : C ⥤ L) [CategoryTheory.Functor.Full ι] [CategoryTheory.Functor.Faithful ι] :
    IsProCompletion (ι := ι) ↔ ProCompletionConditions (ι := ι) := by
  sorry

end

end CAT_statement_S_0074