Subobject classifier

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}.

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: (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.

For the general definition, we start with a category C that has a terminal object, which we denote by 1.

The terminal object is the sheaf 1 which assigns the singleton {*} to every open set U of X.

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.

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.