# Subobject classifier

In category theory, a subobject classifier is a special object Ω of a category such that, intuitively, the subobjects of any object X in the category correspond to the morphisms from X to Ω. In typical examples, that morphism assigns "true" to the elements of the subobject and "false" to the other elements of X. Therefore, a subobject classifier is also known as a "truth value object" and the concept is widely used in the categorical description of logic. Note however that subobject classifiers are often much more complicated than the simple binary logic truth values {true, false}.

## Introductory example

As an example, the set Ω = {0,1} is a subobject classifier in the category of sets and functions: to every subset A of S defined by the inclusion function j : A → S we can assign the function χ$_A$ from S to Ω that maps precisely the elements of A to 1 (see characteristic function). Every function from S to Ω arises in this fashion from precisely one subset A.
To be clearer, consider a subset A of S (A ⊆ S), where S is a set. The notion of being a subset can be expressed mathematically using the so-called characteristic function χ$_A$ : S → {0,1}, which is defined as follows:
    $\chi _{A}(x)={\begin{cases}0,&{\mbox{if }}x\notin A\\1,&{\mbox{if }}x\in A\end{cases}}$
(Here we interpret 1 as true and 0 as false.) The role of the characteristic function is to determine which elements belong to the subset A. In fact, χ$_A$ is true precisely on the elements of A.
In this way, the collection of all subsets of S and the collection of all maps from S to Ω = {0,1} are isomorphic.
To categorize this notion, recall that, in category theory, a subobject is actually a pair consisting of an object and a monic arrow (interpreted as the inclusion into another object). Accordingly, true refers to the element 1, which is selected by the arrow: true: {0} → {0, 1} that maps 0 to 1. The subset A of S can now be defined as the pullback of true along the characteristic function χ$_A$, shown on the following diagram:
Defined that way, χ is a morphism Sub$_C$(S) → Hom$_C$(S, Ω). By definition, Ω is a subobject classifier if this morphism is an isomorphism.

## Definition

For the general definition, we start with a category C that has a terminal object, which we denote by 1. The object Ω of C is a subobject classifier for C if there exists a morphism
    1 → Ω
with the following property:
    For each monomorphism j: U → X there is a unique morphism χ$_j$: X → Ω such that the following commutative diagram
    is a pullback diagram—that is, U is the limit of the diagram:
The morphism χ$_j$ is then called the classifying morphism for the subobject represented by j.

## Further examples
### Sheaves of sets

The category of sheaves of sets on a topological space X has a subobject classifier Ω which can be described as follows: For any open set U of X, Ω(U) is the set of all open subsets of U. The terminal object is the sheaf 1 which assigns the singleton {*} to every open set U of X. The morphism η:1 → Ω is given by the family of maps η$_U$ : 1(U) → Ω(U) defined by η$_U$(*)=U for every open set U of X. Given a sheaf F on X and a sub-sheaf j: G → F, the classifying morphism χ$_j$ : F → Ω is given by the family of maps χ$_{j,U}$ : F(U) → Ω(U), where χ$_{j,U}$(x) is the union of all open sets V of U such that the restriction of x to V (in the sense of sheaves) is contained in j$_V$(G(V)).
Roughly speaking an assertion inside this topos is variably true or false, and its truth value from the viewpoint of an open subset U is the open subset of U where the assertion is true.

### Presheaves

Given a small category $C$, the category of presheaves $\mathrm {Set} ^{C^{op}}$ (i.e. the functor category consisting of all contravariant functors from $C$ to $\mathrm {Set}$) has a subobject classifer given by the functor sending any $c\in C$ to the set of sieves on $c$. The classifying morphisms are constructed quite similarly to the ones in the sheaves-of-sets example above.

### Elementary topoi

Both examples above are subsumed by the following general fact: every elementary topos, defined as a category with finite limits and power objects, necessarily has a subobject classifier. The two examples above are Grothendieck topoi, and every Grothendieck topos is an elementary topos.

## Related concepts

A quasitopos has an object that is almost a subobject classifier; it only classifies strong subobjects.