Subterminal objects #
Subterminal objects are the objects which can be thought of as subobjects of the terminal object.
In fact, the definition can be constructed to not require a terminal object, by defining A
to be
subterminal iff for any Z
, there is at most one morphism Z ⟶ A
.
An alternate definition is that the diagonal morphism A ⟶ A ⨯ A
is an isomorphism.
In this file we define subterminal objects and show the equivalence of these three definitions.
We also construct the subcategory of subterminal objects.
TODO #
- Define exponential ideals, and show this subcategory is an exponential ideal.
- Use the above to show that in a locally cartesian closed category, every subobject lattice is cartesian closed (equivalently, a Heyting algebra).
An object A
is subterminal iff for any Z
, there is at most one morphism Z ⟶ A
.
Equations
- CategoryTheory.IsSubterminal A = ∀ ⦃Z : C⦄ (f g : Z ⟶ A), f = g
Instances For
If A
is subterminal, the unique morphism from it to a terminal object is a monomorphism.
The converse of isSubterminal_of_mono_isTerminal_from
.
If A
is subterminal, the unique morphism from it to the terminal object is a monomorphism.
The converse of isSubterminal_of_mono_terminal_from
.
If the unique morphism from A
to a terminal object is a monomorphism, A
is subterminal.
The converse of IsSubterminal.mono_isTerminal_from
.
If the unique morphism from A
to the terminal object is a monomorphism, A
is subterminal.
The converse of IsSubterminal.mono_terminal_from
.
If A
is subterminal, its diagonal morphism is an isomorphism.
The converse of isSubterminal_of_isIso_diag
.
If the diagonal morphism of A
is an isomorphism, then it is subterminal.
The converse of isSubterminal.isIso_diag
.
If A
is subterminal, it is isomorphic to A ⨯ A
.
Equations
- hA.isoDiag = (CategoryTheory.asIso (CategoryTheory.Limits.diag A)).symm
Instances For
The (full sub)category of subterminal objects.
TODO: If C
is the category of sheaves on a topological space X
, this category is equivalent
to the lattice of open subsets of X
. More generally, if C
is a topos, this is the lattice of
"external truth values".
Equations
- CategoryTheory.Subterminals C = CategoryTheory.FullSubcategory fun (A : C) => CategoryTheory.IsSubterminal A
Instances For
Equations
Equations
- CategoryTheory.instInhabitedSubterminalsOfHasTerminal C = { default := { obj := ⊤_ C, property := ⋯ } }
The inclusion of the subterminal objects into the original category.
Equations
Instances For
The category of subterminal objects is equivalent to the category of monomorphisms to the terminal object (which is in turn equivalent to the subobjects of the terminal object).
Equations
- One or more equations did not get rendered due to their size.