Objects stable under pullbacks I was reading the book "Sketches of an Elephant - A Topos Theory Compendium" by Johnstone. At page 43 he introduces the notion of geometric category as a consequence of Lemma 1.4.18. Well, in this Lemma, there is one definition which is not clear. What does the author mean exactly when he say that an arbitrary union of subobjects is stable under pullback?
When I studied category theory, I recall that morphisms were stable under pullback (and such a notion is clear). Is it related to the notion of objects stable under pullbacks? Please, can you provide the formal meaning of the sentece "arbitrary unions of subobjects are stable under pullback"?
 A: Recall the definition of subobject is a bit misleading. It's actually an equivalence class of monomorphisms.
So asking that a subobject be pullback stable is asking that the monos in its class are. Similarly, a union of subobjects is defined to be a new mono, and asking that this union be pullback stable is asking that pulling back the union is the same thing (up to isomorphism) as pulling back the monos individually, then unioning.

Edit:
Formally, we preorder monos into an object $X$ by saying
$(f : A \to X) \leq (g : B \to X)$ if and only if there is a map $h : A \to B$ so that $g = hf$ (that is, the obvious triangle commutes).
Next we quotient this preorder into a partial order by saying two monos $f$ and $g$ are equivalent whenever both $f \leq g$ and $g \leq f$.
Equivalence classes of monos under this relation are called subobjects of $X$, and are partially ordered by $\leq$ as above. Call this poset $\text{Sub}(X)$.
Of course, some posets have ~ bonus structure ~, and we can ask for $\text{Sub}(X)$ to have some bonus structure1. In particular, we can ask for $\text{Sub}(X)$ to have joins. In this case, we think of $[f] \vee [g]$ as a kind of "union" of the subobjects.
So what does it mean for $\vee$ to be "pullback stable"? Say we have an arrow $\varphi : Y \to X$. Then we can pull back a mono as follows:

As a quick exercise, can you show that if $f \leq g$ then $\varphi^* f \leq \varphi^* g$? This also shows that pulling back is well defined on equivalence classes (do you see why?).
But now the join of two subobjects $[f] \vee [g]$ is itself a subobject. That is, $[f] \vee [g] = [h]$ for some mono $h$ with target $X$. So we can pull it back to $Y$. Asking that $\vee$ be pullback-stable is exactly asking that
$$[\varphi^* f] \vee_Y [\varphi^* g] = \varphi^* ([f] \vee_X [g])$$
where I'm writing $\vee_Y$ to mean "the join as computed in $\text{Sub}(Y)$".

But what about arbitrary joins? To answer your second question, saying a category is well-powered is exactly saying that $\text{Sub}(X)$ is a small poset for each $X$. That is, it's saying that there's at most a set worth of subobjects for each $X$.
So asking for $\text{Sub}(X)$ to have arbitrary joins is asking for it to be join-complete as a poset. Since there's only ever a set worth of subobjects to consider, there's no harm in asking for the ~ bonus power ~ to take the join of any set of subobjects. In this case, pullback stability says exactly what you expect:
$$ \bigvee_Y [\varphi^* f_\alpha] = \varphi^* \left ( \bigvee_X [f_\alpha] \right )$$

1 In model theory we use subobjects to model relations, and defining certain things requires us to do things with our subobjects. This is part of why logicians care so much about $\text{Sub}(X)$ being, say, a Heyting (or Boolean) Algebra.

I hope this helps ^_^
