subobject classifier


Topos Theory

topos theory



Internal Logic

Topos morphisms

Extra stuff, structure, properties

Cohomology and homotopy

In higher category theory





Subsets AA of a set XX correspond precisely to maps from XX to the set of truth values of classical logic via their characteristic function χ A:X{0,1}\chi_A:X\to \{0,1\} . The concept of a subobject classifier generalizes this situation to toposes other than Set:

A subobject classifier in a topos is a morphism true:*Ωtrue : * \to \Omega such that every monomorphism ABA \hookrightarrow B in the topos (hence every subobject) is the pullback of this morphism along a unique morphism (the characteristic morphism of AA) BΩB \to \Omega.

In this sense Ω\Omega is the classifying object for subobjects and true:*Ωtrue : * \to \Omega the generic subobject.

That the existence of a subobject classifier in a category is a very powerful property that induces much other structure lies at the heart of topos theory.

By restricting the class of monomorphism appropriately, the concept can be relativized to the concept of an M-subobject classifier1: e.g. demanding only classification of strong monomorphisms leads to quasitoposes.



In a category CC with finite limits, a subobject classifier is a monomorphism true:*Ωtrue : * \to \Omega out of the terminal object, such that for every monomorphism UXU \to X in CC there is a unique morphism χ U:XΩ\chi_U : X \to \Omega such that there is a pullback diagram

U * true X χ U Ω. \array{ U &\to& * \\ \downarrow && \downarrow^{\mathrlap{true}} \\ X &\stackrel{\chi_U}{\to}& \Omega } \,.

See for instance (MacLane-Moerdijk, p. 32).


Some terminology:

If it exists, the object Ω\Omega is also called the object of truth values, a global element KΩK \to \Omega is called a truth value and the element true:*Ωtrue : * \hookrightarrow \Omega is the truth value true, where all these terms allude to the internal logic of the category CC.

Note that the subobjects classified by the truth values are subterminal objects.

The morphism χ U\chi_U is also called the characteristic map or classifying map of the subobject UXU \hookrightarrow X.


If CC has finite limits and is in addition a locally small category, then it has a subobject classifier precisely if the subobject-assigning presheaf

Sub:C opSet Sub : C^{op} \to Set
X{UX}/ X \mapsto \{U \hookrightarrow X\}/\sim

is representable. In this case the representing object is the subobject classifier: there is a natural isomorphism

Sub(X)C(X,Ω) Sub(X) \simeq C(X, \Omega)

in XCX \in C.

Moreover, in this case CC is well powered.

This appears for instance as (MacLane-Moerdijk, prop. I.3.1).

In more detail: given a morphism f:cdf: c \to d in CC, the function

Sub(f):Sub(d)Sub(c) Sub(f): Sub(d) \to Sub(c)

takes a subobject i:tdi: t \hookrightarrow d to the subobject of dd obtained by pulling back ii along ff. (Notice that monomorphisms, as discussed there, are stable under pullback.)

The representability of this functor means there is an object Ω\Omega together with a subobject t:TΩt: T \hookrightarrow \Omega which is universal, meaning that given any subobject i:sci: s \hookrightarrow c, there is a unique morphism f:cΩf: c \to \Omega such that ii is obtained as the pullback of tt along ff.


To see that a subobject classifier induces such a natural isomorphism, we need that the morphisms Sub(f)Sub(f) for fMor(C)f \in Mor(C) corresponds to the morphisms C(f,Ω)C(f,\Omega). This is the pasting law for pullbacks.

Conversely, to see that a subobjects-representing object Ω\Omega is a subobject classifier, use that by naturality we have for each morphism ϕ:XΩ \phi : X \to \Omega a commuting diagram

Sub(Ω) C(Ω,Ω) Sub(ϕ) C(ϕ,Ω) Sub(X) C(X,Ω) \array{ Sub(\Omega) &\stackrel{\simeq}{\to}& C(\Omega, \Omega) \\ {}^{\mathllap{Sub(\phi)}}\downarrow && \downarrow^{\mathrlap{C(\phi,\Omega)}} \\ Sub(X) &\stackrel{\simeq}{\to}& C(X, \Omega) }

whose commuativity says that every element of Sub(X)Sub(X) is the pullback along some ϕ:XΩ\phi : X \to \Omega of the subobject of Ω\Omega corresponding under the natural isomorphism to Id:ΩΩId : \Omega \to \Omega.

By further playing around with this one finds that this latter subobject of Ω\Omega has to be a terminal object.


In SetSet

In the category of sets, the 2-element set 2={f,t}\mathbf{2} = \{f, t\} plays the role of Ω\Omega; the morphism t:12t: 1 \to \mathbf{2} just names the element tt. Given a subset SXS \subseteq X, the characteristic function χ S:X2\chi_S: X \to \mathbf{2} is the function defined by χ S(x)=t\chi_S(x) = t if xSx \in S, and χ S(x)=f\chi_S(x) = f if xSx \notin S.


It is not usually true in toposes that Ω\Omega is the coproduct 2=1+1\mathbf{2} = 1 + 1; toposes where that occurs are called Boolean. Thus the category SetSet of sets is a Boolean topos, as is the presheaf topos Set GSet^G when GG is a groupoid.

In a presheaf topos

The subobject classifier in a presheaf topos PSh(S)PSh(S) is the presheaf that sends each object USU \in S to the set sieves(U)sieves(U) of sieves on it, equivalently the set of subobjects of the representable presheaf Y(U)Y(U): Ω:Usieves(U)\Omega : U \mapsto sieves(U).

The corresponding morphism true:*Ωtrue : * \to \Omega of presheaves is the natural transformation that picks over each object the maximal sieve true U=maximal sieves(U):*sieves(U)true_U = maximal_{sieves(U)} : * \to sieves(U).

In GSetG Set

As a special case of presheaf toposes, for GG a discrete group and GSet=[BG,Set]G Set = [\mathbf{B} G, Set] the topos of permutation representations, there are precisely two sieves on the single object of the delooping groupoid BG\mathbf{B}G: the trivial one and the empty one. Hence the subobject classifier here is the 2-element set as in Set, but now regarded as a GG-set with trivial GG-action.

In a non-boolean topos

An example of a non-Boolean topos is the category of sheaves over a “typical” topological space XX such as the real line \mathbb{R} in its usual topology. In this case, Ω\Omega is the sheaf where the set of sections over an open subset UU is the set of open subsets of UU, with the obvious restriction maps; the sheaf topos in this case is guaranteed to be non-Boolean provided there are some non-regular open sets in XX (a open set is regular if it is the interior of its closure). The “internal logic” of such a topos is intuitionistic.

In a slice topos


Let \mathcal{E} be a topos and XX \in \mathcal{E} any object. Write /X\mathcal{E}/X for the corresponding over-topos.

The subobject classifier of /X\mathcal{E}/X is p 2:Ω ×XXp_2 : \Omega_{\mathcal{E}} \times X \to X.


This follows for instance from the statement that the inverse image of any base change geometric morphism is a logical functor and hence preserves subobject classifiers: Here we are looking at the base change along p:X*p : X \to * and hence p *Ω Ω ×Xp^* \Omega_{\mathcal{E}}\simeq \Omega_{\mathcal{E}} \times X.

But the statement is also easily directly checked.


The subobject classifier always comes with the structure of an internal poset; that is, a relation Ω×Ω\subseteq\, \hookrightarrow \Omega\times\Omega which is internally reflexive, antisymmetric, and transitive. This can be constructed directly, or obtained via the Yoneda lemma since the collection of subobjects of any object is an external poset.

In fact, this internal poset is an internal Heyting algebra; it's an internal Boolean algebra if and only if the topos is Boolean.

In a topos, the subobject classifier Ω\Omega is always injective, and, so is the power object Ω X\Omega^X for every object XX. In particular, every object XX embeds into an injective object by the singleton monomorphism XΩ XX\to\Omega^X: ‘A topos has enough injective objects!’. More generally, injective objects in a topos are percisely the ones that are retracts of some Ω X\Omega^X (Cf. Borceux 1994, p.315; Moerdijk-MacLane 1994, p.210).

Generalizations: object classifier

In higher topoi the the subobject classifiers are the universal fibrations:

in the (n+1)-topos nCatn Cat of n-categories the subobject classifier is the forgetful functor

ntrue:(n1)Cat *(n1)Cat n true : (n-1)Cat_* \to (n-1)Cat

from the nn-category of pointed (n1)(n-1)-categories to that of (n1)(n-1)-categories, which forgets the point.

This is described in more detail at generalized universal bundle. See also the discussion at stuff, structure, property.

In fact, using the notion of (-1)-category the subobject classifier in Set does fit precisely into this pattern:

the 2-element set 2\mathbf{2} may be regarded as the 0-category of (-1)-categories (of which there are two) and the one-element set ** is the 0-category of pointed (-1)-categories, of which there is one.

In the context of (∞,1)-topos theory subobject classifiers are discussed in section 6.1.6 of

Whereas for 1-toposes the subobject classifier is the key structural ingredient (besides the exactness properties), in higher topos theory this role is taken over by the object classifier, as pointed out in Lurie (2009).


  1. For M the class of strong monomorphisms, this is called a weak subobject classifier in Johnstone (2002, p.120).

Revised on April 24, 2016 17:12:34 by Ingo Blechschmidt (