Subobject classifier

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In category theory, a subobject classifier is a special object Ω of a category; intuitively, the subobjects of an object X correspond to the morphisms from X to Ω. As the name suggests, what a subobject classifier does is to identify/classify subobjects of a given object according to which elements belong to the subobject in question. Because of this role, the subobject classifier is also referred to as the "truth value object". In fact, the way in which the subobject classifier classifies subobjects of a given object is by assigning the values true to elements belonging to the subobject in question, and false to elements not belonging to the subobject. This is why the subobject classifier is widely used in the categorical description of logic.

Introductory example[edit]

As an example, the set Ω = {0,1} is a subobject classifier in the category of sets and functions: to every subset   j  : UX we can assign the function χj from X to Ω that maps precisely the elements of U to 1 (see characteristic function). Every function from X to Ω arises in this fashion from precisely one subset U.

To be clearer, consider a subset A of S (AS), 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) = 
  0, & \mbox{if }x\notin A \\
  1, & \mbox{if }x\in A

(Here we interpret 1 as true and 0 as false.) The role of the characteristic function is to determine which elements belong or not to a certain subset.

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 object 1 and the arrow: true: {0} → {0, 1} that maps 0 to 1. The subset A can now be defined as the pullback of true and the characteristic function χA, also written A = χA−1(1); the following diagram commutes:


The category Set with its subobject classifier satisfies the following property:

The collection of all subsets of S, denoted by \mathcal{P}(S), and the collection of all maps from S to the set {0, 1} = 2, denoted by 2S, are isomorphic; i.e., the function y:\mathcal{P}(S)\rightarrow2^S, which in terms of single elements of \mathcal{P}(S) is A → χA, is a bijection.

Axiom: Given a category C with a subobject classifier, there exists an isomorphism

y: SubC(X) ≅ HomC(X, Ω) ∀ XC.

This axiom implies the alternative definition of a subobject classifier:

Definition: Ω is a subobject classifier iff there is a one to one correspondence between subobjects of X and morphisms from X to Ω.


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: UX 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[edit]

Every elementary topos, defined as a category with finite limits and power objects, necessarily has a subobject classifier.[1] For the topos of sheaves of sets on a topological space X, it can be described in these terms: For any open set U of X, \Omega(U) is the set of all open subsets of U. 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.

For a small category C, the subobject classifer in the topos of presheaves \mathrm{Set}^{C^{op}} is given as follows. For any c \in C, \Omega(c) is the set of sieves on c.


  1. ^ Pedicchio & Tholen (2004) p.8