In $\mathbf{Sets}^\mathbf{Q}$, prove the subobject classifier $\Omega$ is given by $\Omega(q)=\{r\mid r\in\mathbf{R^+},r\ge q\}.$

This is Exercise I.9 of Mac Lane and Moerdijk's, "Sheaves in Geometry and Logic [. . .]".

The Details:

A definition of a subobject classifier is given on page 32, ibid.

Definition: In a category $$\mathbf{C}$$ with finite limits, a subobject classifier is a monic, $${\rm true}:1\to\Omega$$, such that to every monic $$S\rightarrowtail X$$ in $$\mathbf{C}$$ there is a unique arrow $$\phi$$ which, with the given monic, forms a pullback square

$$\begin{array}{ccc} S & \to & 1 \\ \downarrow & \, & \downarrow {\rm true}\\ X & \stackrel{\dashrightarrow}{\phi} & \Omega. \end{array}$$

The Question:

Let $$\mathbf{Q}$$ be the (linearly) ordered set of all rational numbers considered as a category, while $$\mathbf{R^+}$$ is the set of reals with a symbol $$\infty$$ adjoined. In $$\mathbf{Sets}^\mathbf{Q}$$, prove that the subobject classifier $$\Omega$$ has $$\Omega(q) = \{r \mid r\in \mathbf{R^+}, r \ge q\}$$.

Context:

I have asked about an example of a subobject classifier in the past:

But that was a long time ago and with a subtle difference in the definition of a subobject classifier.

You can check my recent questions for how to show some subobject classifiers do not exist.

I'm studying topos theory for fun and Exercise I.9 is exciting to me because the truth values of $$\mathbf{Sets}^\mathbf{Q}$$ (i.e., $$\Omega(q)$$ in the question, right?) make sense to me intuitively (no pun intended).

My Attempt:

The terminal object in $$\mathbf{Sets}^{\mathbf{Q}}$$ is, I suppose, $$1_{\mathbf{Sets}^{\mathbf{Q}}}:\mathbf{Q}\to \textbf{Sets}$$ given by $$1_{\mathbf{Sets}^{\mathbf{Q}}}(s)=\{\ast\}$$ for a rational number $$s$$; I'm not sure how to prove this.

Let $$p:\mathbf{Q}\to \mathbf{Sets}$$ and $$q:\mathbf{Q}\to \mathbf{Sets}$$ be objects in $$\mathbf{Sets}^{\mathbf{Q}}$$. Suppose $$f: p\rightarrowtail q$$ is a monic natural transformation in $$\mathbf{Sets}^{\mathbf{Q}}$$.

We have $$!_s: s\to 1_{\mathbf{Sets}^{\mathbf{Q}}}$$ given by (again, I suppose) $$!_s: s(\rho)\mapsto \ast$$ for all $$\rho\in \Bbb Q$$ and all $$s\in {\rm Ob}(\mathbf{Sets}^{\mathbf{Q}})$$.

Let $$\Omega\in{\rm Ob}(\mathbf{Sets}^{\mathbf{Q}})$$ be as defined in the question.

How do we define $$(\phi=)\chi_f:q\dashrightarrow \Omega$$ and $${\rm true}: 1_{\mathbf{Sets}^{\mathbf{Q}}}\to \Omega$$?

I get that, by definition of a pullback, I need, for $$x\in{\rm Ob}(\mathbf{Sets}^{\mathbf{Q}})$$ and $$h: x\to q$$ with $${\rm true}\circ !_x=\chi_f\circ h$$, the existence of a unique $$x\stackrel{u}{\dashrightarrow}p$$ in $${\rm Mor}(\mathbf{Sets}^{\mathbf{Q}})$$ such that $$f\circ u=h$$ and $$!_p\circ u=!_x$$.

• Surely you mean $p: \mathbb Q \rightarrow \textbf{Sets}$ and $q: \mathbb Q \rightarrow \textbf{Sets}$? Since objects of $\textbf{Sets}^{\mathbb Q}$ are functors $\mathbb Q \rightarrow \textbf{Sets}$ – Noel Lundström Feb 15 at 20:53
• Yes I meant $\textbf Q$ instead of $\mathbb Q$, the distinction is irrelevant. But no a functor $\mathbf Q \rightarrow \textbf{Set}$ is not a function from $\mathbf Q$ to a set. A functor $F:\textbf Q \rightarrow \textbf{Set}$ is a way to assign every rational number $s$ to a set $Fs$ together with a function $Fs \rightarrow Fs'$ whenever $s' \leq s$. You might be confusing $\textbf{Sets}^\mathbf Q$ with the slice category $\mathbf Q / \textbf{Sets}$ where objects are arrows $\mathbf Q \rightarrow X$ for a set $X$. – Noel Lundström Feb 15 at 21:02
• Yes that is better :) I made an edit to the part about the terminal object aswell that you missed. – Noel Lundström Feb 15 at 21:20
• Do you know what the subobject classifier is in general in a presheaf category $\mathbf{Set}^{\mathbf{C}}$? If so, then you should hopefully be able to apply it in this specific case and see why you get something isomorphic to the given presheaf. – Daniel Schepler Feb 15 at 21:20
• On thinking about it, I wonder if the result should actually look more like subsets of $\mathbb{R}^+ \sqcup \mathbb{Q}$, with one copy of each rational number being "infinitesimally" greater than the other. – Daniel Schepler Feb 16 at 6:36

There is a trick to calculating subobject classifiers (if they exist) in a functor category $$\textbf{Sets}^\textbf C$$. Namely if we denote by $$h_c=\text{Hom}(c,-):\textbf C \rightarrow \textbf{Sets}$$ we know by the yoneda lemma that if $$\Omega$$ exists $$\text{Sub}(h_c) = \text{Nat}(h_c , \Omega) = \Omega(c)$$
then you can try and figure out what a subobject of $$h_c$$ looks like. A hint would be that monomorphisms in a functor category $$\text{Func}(C,D)$$ are precisely the natural transformations which are pointwise monomorphisms, i.e $$\phi:F \rightarrow G$$ is a monomorphism iff $$\phi_c$$ is a monomorphism for all $$c$$.
The terminal object $$T$$ in a functor category is given by the functor $$T$$ which takes every object $$c$$ in $$C$$ to the terminal object in $$D$$.