Classically, we have:
A Grothendieck topos $\mathcal{T}$ is a category that admits a geometric embedding
in a presheaf category, i.e., a full and faithful functor that has a left exact left adjoint.
This is equivalently the category of sheaves (Set-valued presheaves satisfying the sheaf condition) over a small site.
Since smallness can be relative, we also have:
For a given fixed category of sets $S$, a Grothendieck topos over $S$ is a category of sheaves ($S$-valued presheaves satisfying the sheaf condition) over a site which is small relative to $S$, that is a site internal to $S$.
Note that a Grothendieck topos is a topos because (or if) $S$ is.
The site is not considered part of the structure; different sites may give rise to equivalent category of sheaves.
By the general theory of geometric morphisms, every Grothendieck topos sits inside a category of presheaves by a geometric embedding $Sh(S) \hookrightarrow PSh(S)$.
This may be taken as an alternative definition of sheaf: since Lawvere-Tierney topologies are bijectively given by geometric embeddings, instead of explicitly defining a sheaf as a presheaf satisfying descent, one may define categories of sheaves as geometric embeddings into presheaf categories.
For details on the relation between the two perspectives see geometric embedding.
This perspective is useful for defining the vertical categorification of sheaves: stacks and ∞-stacks: the higher categories of these may be defined as geometric embeddings into higher categories of presheaves. This has been worked out in detail for (∞,1)-categories. See (∞,1)-category of (∞,1)-sheaves.
Sometimes it is useful to distinguish between petit topos and gros topos.
Every Grothendieck topos is a total category and a cototal category.
From the page total category, totality follows from the fact that a Grothendieck topos is
Dually, a Grothendieck topos is
Therefore a Grothendieck topos is also cototal.
Giraud characterized Grothendieck toposes as categories satisfying certain exactness and small completeness properties (where “small” is again relative to the given category of sets $S$). The exactness properties are elementary (not depending on $S$), and are satisfied in any elementary topos, or even a pretopos.
Giraud's theorem characterises a Grothendieck topos as follows:
These conditions are equivalent to
See the Elephant, theorem C.2.2.8. (There, the assumption of local smallness is not stated explicitly, but it is included in the definition of $\infty$-pretopos by way of well-poweredness; on the nLab it is not so included, so we have to state it explicitly. To see that it is necessary, note that if $U$ and $V$ are Grothendieck universes with $U\in V$, then $Set_V$ satisfies all the other conditions relative to $Set_U$, but is not locally small and is not a Grothendieck topos.) See also Wikipedia.
Sometimes (3,4) are combined and strengthened to the statement that the category has all small colimits, which are effective and pullback-stable. However, this is a mistake for two reasons: it is a significantly stronger axiomatisation (since without the small generating set, not every infinitary pretopos has this property), and it is not valid in weak foundations (while the definition given above is).
Augmenting the aforementioned Proposition 1 that Grothendieck toposes are total categories, Street more or less characterizes Grothendieck toposes as lex total categories having the same “size” as $Set$.
In more detail: we take as background set theory ZFC + “there is a strongly inaccessible cardinal” $\kappa$; equivalently, the existence of a single Grothendieck universe $U$ (a set of “small sets”). Supposing given a model $V$ of $ZFC+universe$, “category” shall then refer to category theory interpreted in $V$. Let $Set$ be the category of small sets; note that the set of morphisms of $Set$ has size $\kappa$. Let $E$ be a locally small category.
$E$ is lex total if the Yoneda embedding $y: E \to [E^{op}, Set]$ has a left exact left adjoint.
(Street) A category $E$ is a Grothendieck topos iff it is lex total and the size of the set of isomorphism classes of objects is $\kappa$ or less.
This result is in the spirit of saying “every Grothendieck topos is the category of sheaves with respect to the canonical topology on itself”. Putting aside set-theoretic issues, it suggests that Grothendieck toposes be seen as analogous to frames, which may be defined as lex total objects in $\mathbf{2}$-$Cat$. In this setting, the appropriate morphisms are left exact left adjoints, so that Grothendieck toposes and geometric morphisms between them would be analogous to locales and continuous maps between them.
One can deduce formally that lex total categories are locally cartesian closed Heyting pretoposes.
We have two definitions of a Grothendieck topos:
The theorem that these are equivalent can be proved in quite weak foundations, whether finitist, predicative, or constructive (or all three at once), as long as we axiomatize correctly given the caveats listed in the previous section. Some hard-nosed predicativists (and even hard-nosed ZFC fundamentalists) may object to the language (on the ground that large categories such as $Set$ and other nontrivial Grothendieck toposes don't really exist), but they should accept the theorems when suitably phrased.
In predicative mathematics, however, we cannot prove that every Grothendieck topos is in fact a topos! In fact, it is immediate that the category of sets is a Grothendieck topos, but $Set$ is an elementary topos if and only if power sets are small, which is precisely what predicativists doubt. One can use the term Grothendieck pretopos to avoid implying that we have an elementary topos. On the other hand, since Grothendeick toposes came first, perhaps it is the definition of ‘elementary topos’ that is too strong.
Similarly, in finitist mathematics, we cannot prove that every Grothendieck topos has a natural numbers object; while in strongly predicative mathematics, we cannot prove that every Grothendieck topos is cartesian closed. In each case, once a property is accepted of $Set$ (the axiom of infinity and small function sets, in these examples), it can be proved for all Grothendieck toposes.
Constructivism as such is irrelevant; even in classical mathematics, most Grothendieck toposes are not boolean. However, for an analogous result, try the theorem that the category of presheaves on a groupoid (and hence any category of sheaves contained within it) is boolean. (Again, $Set$ itself is an example of this.)
The theorem that every Grothendieck topos is cocomplete is a subtle point; it fails only in finitist predicative mathematics. (The key point in the proof is to generate the transitive closure $\sim^*$ of a binary relation $\sim$. One proof defines $a \sim^* b$ to mean that $a \sim x_0 \sim \cdots \sim x_{n-1} \sim b$ for some $n$, which is predicative but infinitary; another defines $a \sim^* b$ to mean that $a \sim' b$ for every transitive relation $\sim'$ that contains $\sim$, which is finitary but impredicative.)
Grothendieck topos, category of sheaves
Locally presentable categories: Cocomplete possibly-large categories generated under filtered colimits by small generators under small relations. Equivalently, accessible localizations of free cocompletions. Accessible categories omit the cocompleteness requirement; toposes add the requirement of a left exact localization.
A quick introduction of the basic facts of sheaf-topos theory is chapter I, “Background in topos theory” in
A standard textbook on this case is
Grothendieck topoi appear around section III,4 there. A proof of Giraud’s theorem is in appendix A.
The proof of Giraud’s theorem for (∞,1)-topoi is section 6.1.5 of
Street’s characterization of Grothendieck toposes is given in