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] :
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 ↧T) :
Any terminal object T : Cat.{u, u} is isomorphic to Cat.of (Discrete PUnit).