File: Mathlib/CategoryTheory/Limits/Shapes/Countable.lean

full_name: CategoryTheory.Limits.HasCountableLimits.out
code: /--
A category has all countable limits if every functor `J ⥤ C` with a `CountableCategory J`
instance and `J : Type` has a limit.
-/
class HasCountableLimits : Prop where
  /-- `C` has all limits over any type `J` whose objects and morphisms lie in the same universe
  and which has countably many objects and morphisms-/
  out (J : Type) [SmallCategory J] [CountableCategory J] : HasLimitsOfShape J C
goal: CategoryTheory.Limits.HasLimitsOfShape J C

full_name: CategoryTheory.Limits.HasCountableLimits
code: /--
A category has all countable limits if every functor `J ⥤ C` with a `CountableCategory J`
instance and `J : Type` has a limit.
-/
class HasCountableLimits : Prop where
  /-- `C` has all limits over any type `J` whose objects and morphisms lie in the same universe
  and which has countably many objects and morphisms-/
  out (J : Type) [SmallCategory J] [CountableCategory J] : HasLimitsOfShape J C
goal: Prop

full_name: CategoryTheory.Limits.hasFiniteLimits_of_hasCountableLimits
code: instance (priority := 100) hasFiniteLimits_of_hasCountableLimits [HasCountableLimits C] :
    HasFiniteLimits C 
goal: CategoryTheory.Limits.HasFiniteLimits C

full_name: CategoryTheory.Limits.hasCountableLimits_of_hasLimits
code: instance (priority := 100) hasCountableLimits_of_hasLimits [HasLimits C] :
    HasCountableLimits C 
goal: CategoryTheory.Limits.HasCountableLimits C

full_name: CategoryTheory.Limits.instHasLimitsOfShapeOfCountableCategoryOfHasCountableLimits
code: instance [Category.{v} J] [CountableCategory J] [HasCountableLimits C] : HasLimitsOfShape J C 
goal: CategoryTheory.Limits.HasLimitsOfShape J C

full_name: CategoryTheory.Limits.HasCountableColimits.out
code: /--
A category has all countable colimits if every functor `J ⥤ C` with a `CountableCategory J`
instance and `J : Type` has a colimit.
-/
class HasCountableColimits : Prop where
  /-- `C` has all limits over any type `J` whose objects and morphisms lie in the same universe
  and which has countably many objects and morphisms-/
  out (J : Type) [SmallCategory J] [CountableCategory J] : HasColimitsOfShape J C
goal: CategoryTheory.Limits.HasColimitsOfShape J C

full_name: CategoryTheory.Limits.HasCountableColimits
code: /--
A category has all countable colimits if every functor `J ⥤ C` with a `CountableCategory J`
instance and `J : Type` has a colimit.
-/
class HasCountableColimits : Prop where
  /-- `C` has all limits over any type `J` whose objects and morphisms lie in the same universe
  and which has countably many objects and morphisms-/
  out (J : Type) [SmallCategory J] [CountableCategory J] : HasColimitsOfShape J C
goal: Prop

full_name: CategoryTheory.Limits.hasFiniteColimits_of_hasCountableColimits
code: instance (priority := 100) hasFiniteColimits_of_hasCountableColimits [HasCountableColimits C] :
    HasFiniteColimits C 
goal: CategoryTheory.Limits.HasFiniteColimits C

full_name: CategoryTheory.Limits.hasCountableColimits_of_hasColimits
code: instance (priority := 100) hasCountableColimits_of_hasColimits [HasColimits C] :
    HasCountableColimits C 
goal: CategoryTheory.Limits.HasCountableColimits C

full_name: CategoryTheory.Limits.instHasColimitsOfShapeOfCountableCategoryOfHasCountableColimits
code: instance [Category.{v} J] [CountableCategory J] [HasCountableColimits C] : HasColimitsOfShape J C 
goal: CategoryTheory.Limits.HasColimitsOfShape J C

full_name: CategoryTheory.Limits.sequentialFunctor_obj
code: /-- The object part of the initial functor `ℕᵒᵖ ⥤ J` -/
noncomputable def sequentialFunctor_obj : ℕ → J 
goal: ℕ → J

full_name: CategoryTheory.Limits.sequentialFunctor_map
code: theorem sequentialFunctor_map : Antitone (sequentialFunctor_obj J) 
goal: Antitone (CategoryTheory.Limits.sequentialFunctor_obj J)

full_name: CategoryTheory.Limits.sequentialFunctor
code: /--
The initial functor `ℕᵒᵖ ⥤ J`, which allows us to turn cofiltered limits over countable preorders
into sequential limits.
-/
noncomputable def sequentialFunctor : ℕᵒᵖ ⥤ J 
goal: ℕᵒᵖ ⥤ J

full_name: CategoryTheory.Limits.sequentialFunctor_initial_aux
code: theorem sequentialFunctor_initial_aux (j : J) : ∃ (n : ℕ), sequentialFunctor_obj J n ≤ j 
goal: ∃ n, CategoryTheory.Limits.sequentialFunctor_obj J n ≤ j

full_name: CategoryTheory.Limits.sequentialFunctor_initial
code: instance sequentialFunctor_initial : (sequentialFunctor J).Initial  
goal: (CategoryTheory.Limits.sequentialFunctor J).Initial