(in category theory/type theory/computer science)
of all homotopy types
of (-1)-truncated types/h-propositions
A partial function $f:A\rightharpoonup B$ between two sets can be turned into a total function $\overline{f}:A\to B_\bot$ by adding a new element $\bot$ to $B$ and sending all $a\in A$ that are not in the domain of definition of $f$ to this new value $\bot$ = “undefined” and the rest just to their value under $f$. Conversely, every function with codomain $B_\bot$ corresponds to a unique partial function to $B$ whence $B_\bot$ is a ‘classifying object’ for these.
More generally, a partial map classifier of an object $B$ in a category $\mathcal{C}$ is a representing object for partial maps with codomain $B$.
Let $\mathcal{C}$ be a category with pullbacks. Recall that a partial map $A \rightharpoonup B$ in $\mathcal{C}$ is a span $A \leftarrow D \to B$ in which the map $D\to A$ is a monomorphism. The subobject $D \hookrightarrow A$ is called the domain of the partial map. Two partial maps are considered equal if they are related by an isomorphism of spans; in this way we obtain a set of partial maps $Par_{\mathcal{C}}(A,B)$.
We can compose a partial map $A\rightharpoonup B$ with a map $B\to B'$ in an obvious way. We can also compose it with a map $A'\to A$ by pulling back the mono $D\hookrightarrow A$ to $A'$. In this way $Par_{\mathcal{C}}(-,-)$ becomes a profunctor from $\mathcal{C}$ to itself. (In fact, it is the hom-set of another category with the same objects as $\mathcal{C}$.)
A partial map classifier for $B$ is an object $B_\bot$ together with an isomorphism
natural in $A$. By the Yoneda lemma this means there is a universal partial map $B_\bot \rightharpoonup B$.
The existence of partial map classifiers $B_\bot$ for all objects $B$ in $\mathcal{C}$ amounts to the existence of a right adjoint for the inclusion $\mathcal{C}\hookrightarrow Par(\mathcal{C})$ where the latter is the usual category of partial maps of $\mathcal{C}$.
In a Boolean extensive category (such as a Boolean topos), we can define the partial map classifier as $B_\bot = B + 1$, where $1$ is the terminal object. This is because in an extensive category, a map $A\to B+1$ is equivalent to a decomposition of $A$ as a coproduct $D+E$ together with a map $D\to B$ (the map $E\to 1$ being unique), and in a Boolean category every subobject of $A$ is complemented and hence induces such a coproduct decomposition. The universal partial map $B+1 \rightharpoonup B$ has domain the summand $B$, on which it is the identity. Note that $B\mapsto B+1$ is also known as the maybe monad.
Partial map classifiers also exist in every elementary topos, but in the non-Boolean case they are harder to construct. Letting $t : 1 \to \Omega$ denote the top element, the dependent product $t_*(B)$ is precisely the map $B_\bot \to \Omega$ classifying $B \subseteq B_\bot$. To wit, with this definition,
Alternatively, in the internal logic, two ways of defining $B_\bot$ that more closely follow the classical construction are:
$B_\bot$ is a subobject of the power object $\mathcal{P}B$ consisting of the subsingleton subobjects of $B$. In this case, the universal partial map $B_\bot \rightharpoonup B$ has domain the set of singleton subobjects of $B$, on which it is an isomorphism.
$B_\bot$ is the object of partial maps $1 \rightharpoonup B$. In this case, the universal partial map $B_\bot \rightharpoonup B$ has domain the set of partial maps which are total, on which it is an isomorphism.
Note that neither of these constructions is predicative. The second makes more sense in a higher category (or in its internal logic such as homotopy type theory).
In an intuitionistic context, $B + 1$ still classifies something: namely partial maps $A \rightharpoonup B$ whose domain of definition is a decidable subobject of $A$.
In type theory one uses the partiality monad to treat general recursion as an algebraic effect. In this we we obtain a classifier for recursively enumerable subsets. Is this the first appearance? It is clear that this idea can be generalized to other classes of propositions.
In a topos, the partial map classifier $B_\bot$ of $B$ is injective. The canonical embedding $B\rightarrowtail B_\bot$ shows accordingly that a topos has enough injectives!
In a topos, the subobject classifier $true:1\rightarrow\Omega$ coincides with the monomorphism $\eta_1:1\rightarrowtail 1_\bot$.
In a topos, the assignment of $B_\bot$ to $B$ is functorial.
Section 1.2 of
A2.4 of the Elephant
Last revised on April 16, 2020 at 12:33:49. See the history of this page for a list of all contributions to it.