File: Mathlib/CategoryTheory/Countable.lean

full_name: CategoryTheory.discreteCountable
code: instance discreteCountable {α : Type*} [Countable α] : Countable (Discrete α) 
goal: Countable (CategoryTheory.Discrete α)

full_name: CategoryTheory.CountableCategory.countableObj
code: /-- A category with countably many objects and morphisms. -/
class CountableCategory (J : Type*) [Category J] : Prop where
  countableObj : Countable J := by infer_instance
  countableHom : ∀ j j' : J, Countable (j ⟶ j') := by infer_instance
goal: Countable J

full_name: CategoryTheory.CountableCategory
code: /-- A category with countably many objects and morphisms. -/
class CountableCategory (J : Type*) [Category J] : Prop where
  countableObj : Countable J := by infer_instance
  countableHom : ∀ j j' : J, Countable (j ⟶ j') := by infer_instance
goal: Prop

full_name: CategoryTheory.CountableCategory.countableHom
code: /-- A category with countably many objects and morphisms. -/
class CountableCategory (J : Type*) [Category J] : Prop where
  countableObj : Countable J := by infer_instance
  countableHom : ∀ j j' : J, Countable (j ⟶ j') := by infer_instance
goal: Countable (j ⟶ j')

full_name: CategoryTheory.countablerCategoryDiscreteOfCountable
code: instance countablerCategoryDiscreteOfCountable (J : Type*) [Countable J] :
    CountableCategory (Discrete J) 
goal: CategoryTheory.CountableCategory (CategoryTheory.Discrete J)

full_name: CategoryTheory.instCountableCategoryNat
code: instance : CountableCategory ℕ 
goal: CategoryTheory.CountableCategory ℕ

full_name: CategoryTheory.CountableCategory.ObjAsType
code: /-- A countable category `α` is equivalent to a category with objects in `Type`. -/
abbrev ObjAsType : Type 
goal: Type

full_name: CategoryTheory.CountableCategory.instCountableObjAsType
code: instance : Countable (ObjAsType α) 
goal: Countable (CategoryTheory.CountableCategory.ObjAsType α)

full_name: CategoryTheory.CountableCategory.instCountableHomObjAsType
code: instance {i j : ObjAsType α} : Countable (i ⟶ j) 
goal: Countable (i ⟶ j)

full_name: CategoryTheory.CountableCategory.instObjAsType
code: instance : CountableCategory (ObjAsType α) 
goal: CategoryTheory.CountableCategory (CategoryTheory.CountableCategory.ObjAsType α)

full_name: CategoryTheory.CountableCategory.objAsTypeEquiv
code: /-- The constructed category is indeed equivalent to `α`. -/
noncomputable def objAsTypeEquiv : ObjAsType α ≌ α 
goal: CategoryTheory.CountableCategory.ObjAsType α ≌ α

full_name: CategoryTheory.CountableCategory.HomAsType
code: /-- A countable category `α` is equivalent to a *small* category with objects in `Type`. -/
def HomAsType 
goal: Type

full_name: CategoryTheory.CountableCategory.instLocallySmallObjAsType
code: instance : LocallySmall.{0} (ObjAsType α) 
goal: CategoryTheory.LocallySmall.{0, v, 0} (CategoryTheory.CountableCategory.ObjAsType α)

full_name: CategoryTheory.CountableCategory.instSmallCategoryHomAsType
code: instance : SmallCategory (HomAsType α) 
goal: CategoryTheory.SmallCategory (CategoryTheory.CountableCategory.HomAsType α)

full_name: CategoryTheory.CountableCategory.instCountableHomAsType
code: instance : Countable (HomAsType α) 
goal: Countable (CategoryTheory.CountableCategory.HomAsType α)

full_name: CategoryTheory.CountableCategory.instCountableHomHomAsType
code: instance {i j : HomAsType α} : Countable (i ⟶ j) 
goal: Countable (i ⟶ j)

full_name: CategoryTheory.CountableCategory.instHomAsType
code: instance : CountableCategory (HomAsType α) 
goal: CategoryTheory.CountableCategory (CategoryTheory.CountableCategory.HomAsType α)

full_name: CategoryTheory.CountableCategory.homAsTypeEquiv
code: /-- The constructed category is indeed equivalent to `α`. -/
noncomputable def homAsTypeEquiv : HomAsType α ≌ α 
goal: CategoryTheory.CountableCategory.HomAsType α ≌ α

full_name: CategoryTheory.instCountableCategoryOfFinCategory
code: instance (α : Type*) [Category α] [FinCategory α] : CountableCategory α 
goal: CategoryTheory.CountableCategory α

full_name: CategoryTheory.instCountableCategoryNat_1
code: instance : CountableCategory ℕ 
goal: CategoryTheory.CountableCategory ℕ

full_name: CategoryTheory.countableCategoryOpposite
code: /-- The opposite of a countable category is countable. -/
instance countableCategoryOpposite {J : Type*} [Category J] [CountableCategory J] :
    CountableCategory Jᵒᵖ 
goal: CategoryTheory.CountableCategory Jᵒᵖ

full_name: CategoryTheory.countableCategoryUlift
code: /-- Applying `ULift` to morphisms and objects of a category preserves countability. -/
instance countableCategoryUlift {J : Type v} [Category J] [CountableCategory J] :
    CountableCategory.{max w v} (ULiftHom.{w, max w v} (ULift.{w, v} J)) 
goal: CategoryTheory.CountableCategory (CategoryTheory.ULiftHom (ULift.{w, v} J))