Terminal categories #
We prove that a category is terminal if its underlying type has a Unique
structure and the
category has an IsDiscrete
instance.
We then use this to provide various examples of terminal categories.
TODO: Show the converse: that terminal categories have a unique object and are discrete.
TODO: Provide an analogous characterization of terminal categories as codiscrete categories with a unique object.
def
CategoryTheory.Cat.isTerminalOfUniqueOfIsDiscrete
{T : Type u}
[Category.{v, u} T]
[Unique T]
[IsDiscrete T]
:
Limits.IsTerminal (of T)
A discrete category with a unique object is terminal.
Equations
Instances For
noncomputable def
CategoryTheory.Cat.terminalIsoOfUniqueOfIsDiscrete
{T : Type u}
[Category.{v, u} T]
[Unique T]
[IsDiscrete T]
:
Any T : Cat.{u, u}
with a unique object and discrete homs is isomorphic to ⊤_ Cat.{u, u}.
Equations
Instances For
def
CategoryTheory.Cat.isoDiscretePUnitOfIsTerminal
{T : Type u}
[Category.{u, u} T]
(hT : Limits.IsTerminal (of T))
:
Any terminal object T : Cat.{u, u}
is isomorphic to Cat.of (Discrete PUnit)
.