Blog Archive

Sunday, May 3, 2026

When is a presheaf topos Boolean?

We know Quiver is not a Boolean Topos, but G-Set is Boolean. Why?

The question is: when is a presheaf topos Boolean?

Sieves

Let D be a small category. A sieve on an object d is a set S of morphisms with codomain d, closed under left composition: if f∈S then f∘g∈S for any g that can be composed on the right of f. Every object has at least the empty sieve and the maximal sieve (all morphisms into d).

Sieves and subfunctors: the bijection

Fix a small category C and an object c∈C. There is a natural one-to-one correspondence between sieves on c and subfunctors of the representable functor HomC(−,c).

Given a sieve S on c, define a subfunctor FS↪Hom(−,c) by

FS(d)={f:d→c∣f∈S}.

The left-composition closure of S is exactly the condition that FS is a subfunctor: for any g:d′→d and f∈FS(d), the composite f∘g belongs to FS(d′), so the inclusion is natural.

Conversely, given a subfunctor G⊆Hom(−,c), take

SG=⋃dG(d)⊆⋃dHom(d,c),

which is a sieve because naturality forces closure under precomposition. These two constructions are mutually inverse. Hence

{sieves on c}⟷{subfunctors of Hom(−,c)}.

In the presheaf topos SetCop, the subobject classifier Ω must satisfy Ω(c)≅Sub(Hom(−,c)) by the Yoneda lemma, and therefore Ω(c) is naturally the set of sieves on c. This is the precise reason why the classifier in a presheaf topos is built from sieves.

The subobject classifier in a presheaf topos

In SetDop, the subobject classifier Ω is given on objects by

Ω(d)={sieves on d}.

On a morphism h:d′→d, Ω(h) pulls a sieve S on d back to the sieve {g∣h∘g∈S} on d′. The monomorphism true:1→Ω picks the maximal sieve at each stage.

Boolean means Ω≅1+1

A topos is Boolean iff the canonical map ⊤⊔⊥:1⊔1→Ω is an isomorphism. For a presheaf topos this requires that for every object d in Ob(D), the set Ω(d) has exactly two elements, since 1 is the constant functor, 1(d)={∗}. So each d can only have the empty and the maximal sieve.

Groupoids give exactly two sieves

Assume D is a groupoid. Take a non‑empty sieve S on d. Pick any f:x→d in S. Since D is a groupoid, f has an inverse f−1:d→x. By closure,

idd=f∘f−1∈S.

Now for any h:y→d, h=idd∘h∈S. Thus S is forced to be the maximal sieve. Hence only empty and maximal sieves exist.

A non‑groupoid creates a third sieve

If D is not a groupoid, there exists a non‑invertible morphism f:a→b. Define a sieve on b:

Sf={h:x→b∣h factors through f}={f∘k∣k:x→a}.
  • Sf is non‑empty because f=f∘ida∈Sf.

  • idb∉Sf; otherwise f would be a split epimorphism and, together with non‑invertibility, impossible.

Now b has at least three distinct sieves: empty, Sf, maximal. Thus Ω(b) has more than two elements, breaking Ω≅1+1. The topos is not Boolean.

Conclusion for the original functor category

Take D=Cop:

  • Fun(C,Set) is Boolean ⟺ SetCop is Boolean

  • ⟺ Cop is a groupoid

  • ⟺ C is a groupoid.

Therefore,

Fun(C,Set) is Boolean⟺C is a groupoid.
A subtlety: two-valued is not Boolean

In a presheaf topos SetCop, the global sections of Ω are natural transformations 1→Ω. Since 1(d)={∗} for every d, such a natural transformation picks for each d a sieve on d, subject to the condition that for every h:d′→d, the chosen sieve on d pulls back along h to the chosen sieve on d′.

Two global sections always exist:

  • pick the empty sieve everywhere (false),

  • pick the maximal sieve everywhere (true).

Whether there are more depends on whether there is a way to choose a non‑trivial intermediate sieve at every object in a way that is compatible with all morphisms. Often this is impossible. For a presheaf topos to be Boolean, however, one needs far more: Ω itself must be 1⊔1 internally, meaning each object must have exactly two sieves. Being two‑valued only restricts the global sections; Boolean restricts every set Ω(d).

The example of M-sets

Take a monoid M that is not a group, viewed as a one‑object category C. The presheaf topos is SetMop, the category of right M-sets. Here Ω is the set of right ideals of M, with M acting by inverse image.

  • M usually has many right ideals (e.g. for M=(N,+) every nN is a right ideal), so Ω is large — the topos is not Boolean.

Global sections of Ω. A global section is a morphism f:1→Ω, i.e. an M‑equivariant map from {∗} to Ω. Equivariance means

f(∗)⋅m=f(∗⋅m)=f(∗)for all m∈M.

So f(∗) must be a right ideal I satisfying I⋅m=I for every m∈M. Such an ideal is called an M‑invariant (or fixed) right ideal.

Which right ideals are M‑invariant? Clearly I=∅ works, because ∅⋅m={x∣mx∈∅}=∅. Also I=M works, because M⋅m={x∣mx∈M}=M.

Now suppose I is a non‑empty invariant right ideal. Pick any a∈I. Since I⋅a=I, we have

I=I⋅a={x∈M∣ax∈I}.

Because a=ae∈I, the element e (the unit of M) belongs to the right‑hand side, so e∈I. But I is a right ideal, hence e∈I implies em=m∈I for every m∈M. Thus I=M.

Consequently, the only M‑invariant right ideals are ∅ and M. Therefore

Hom(1,Ω)≅{∅,M}≅{0,1}.

The presheaf topos SetMop is two-valued.

But it is not Boolean. For Boolean-ness we would need Ω≅1⊔1, i.e. every right ideal of M must be either empty or M. As soon as M is not a group, there exist non‑trivial right ideals (for M=(N,+), the set nN is a right ideal for each n≥1). So Ω is much larger, and the topos fails to be Boolean even though it is two‑valued.

Hence SetMop is two‑valued but not Boolean.

 

Popular Posts