Since the introduction of sheaves into mathematics in the 1940s a major theme has been to study a space by studying sheaves on a space. This idea was expounded by Alexander Grothendieck by introducing the notion of a "topos". The main utility of this notion is in the abundance of situations in mathematics where topological intuition is very effective but an honest topological space is lacking; it is sometimes possible to find a topos formalizing the intuition. The single greatest success of this programmatic idea to date has been the introduction of the étale topos of a scheme.

A category with these properties is called a "(Grothendieck) topos". Here Presh(D) denotes the category of contravariant functors from D to the category of sets; such a contravariant functor is frequently called a presheaf.

The last axiom needs the most explanation. If X is an object of C, an "equivalence relation" R on X is a map R→X×X in C such that for any object Y in C, the induced map Hom(Y,R)→Hom(Y,X)×Hom(Y,X) gives an ordinary equivalence relation on the set Hom(Y,X). Since C has colimits we may form the coequalizer of the two maps R→X; call this X/R. The equivalence relation is "effective" if the canonical map

Giraud's theorem already gives "sheaves on sites" as a complete list of examples. Note, however, that nonequivalent sites often give rise to equivalent topoi. As indicated in the introduction, sheaves on ordinary topological spaces motivate many of the basic definitions and results of topos theory.

The category of sets is an important special case: it plays the role of a point in topos theory. Indeed, a set may be thought of as a sheaf on a point.

More exotic examples, and the raison d'être of topos theory, come from algebraic geometry. To a scheme and even a stack one may associate an étale topos, an fppf topos, a Nisnevich topos...

Topos theory is, in some sense, a generalization of classical point-set topology. One should therefore expect to see old and new instances of pathological behavior. For instance, there is an example due to Pierre Deligne of a nontrivial topos that has no points (see below for the definition of points of a topos).

If X and Y are topoi, a geometric morphismu: X→Y is a pair of adjoint functors (u∗,u∗) (where u*:Y→X is left adjoint to u∗:X→Y) such that u∗ preserves finite limits. Note that u∗ automatically preserves colimits by virtue of having a right adjoint.

By Freyd's adjoint functor theorem, to give a geometric morphism X → Y is to give a functor u∗: Y → X that preserves finite limits and all small colimits. Thus geometric morphisms between topoi may be seen as analogues of maps of locales.

If X and Y are topological spaces and u is a continuous map between them, then the pullback and pushforward operations on sheaves yield a geometric morphism between the associated topoi.

A point of a topos X is defined as a geometric morphism from the topos of sets to X.

If X is an ordinary space and x is a point of X, then the functor that takes a sheaf F to its stalk Fx has a right adjoint (the "skyscraper sheaf" functor), so an ordinary point of X also determines a topos-theoretic point. These may be constructed as the pullback-pushforward along the continuous map x: 1 → X.

A ringed topos is a pair (X,R), where X is a topos and R is a commutative ring object in X. Most of the constructions of ringed spaces go through for ringed topoi. The category of R-module objects in X is an abelian category with enough injectives. A more useful abelian category is the subcategory of quasi-coherentR-modules: these are R-modules that admit a presentation.

Another important class of ringed topoi, besides ringed spaces, are the etale topoi of Deligne-Mumford stacks.

A traditional axiomatic foundation of mathematics is set theory, in which all mathematical objects are ultimately represented by sets (even functions, which map between sets). More recent work in category theory allows this foundation to be generalized using topoi; each topos completely defines its own mathematical framework. The category of sets forms a familiar topos, and working within this topos is equivalent to using traditional set theoretic mathematics. But one could instead choose to work with many alternative topoi. A standard formulation of the axiom of choice makes sense in any topos, and there are topoi in which it is invalid. Constructivists will be interested to work in a topos without the law of excluded middle. If symmetry under a particular groupG is of importance, one can use the topos consisting of all G-sets.

It is also possible to encode an algebraic theory, such as the theory of groups, as a topos, in the form of a classifying topos. The individual models of the theory, i.e. the groups in our example, then correspond to functors from the encoding topos to the category of sets that respect the topos structure.

When used for foundational work a topos will be defined axiomatically; set theory is then treated as a special case of topos theory. Building from category theory, there are multiple equivalent definitions of a topos. The following has the virtue of being concise:

Every object has a power object. This plays the role of the powerset in set theory.

Formally, a power object of an object is a pair with , which classifies relations, in the following sense. First note that for every object , a morphism ("a family of subsets") induces a subobject . Formally, this is defined by pulling back along . The universal property of a power object is that every relation arises in this way, giving a bijective correspondence between relations and morphisms .

A logical functor is a functor between toposes which preserves finite limits and power objects. Logical functors preserve the structures that toposes have. In particular, they preserve finite colimits, subobject classifiers, and exponentials.

A topos as defined above can be understood as a cartesian closed category for which the notion of subobject of an object has an elementary or first-order definition. This notion, as a natural categorical abstraction of the notions of subset of a set, subgroup of a group, and more generally subalgebra of any algebraic structure, predates the notion of topos. It is definable in any category, not just topoi, in second-order language, i.e. in terms of classes of morphisms instead of individual morphisms, as follows. Given two monics m, n from respectively Y and Z to X, we say that m ≤ n when there exists a morphism p: Y → Z for which np = m, inducing a preorder on monics to X. When m ≤ n and n ≤ m we say that m and n are equivalent. The subobjects of X are the resulting equivalence classes of the monics to it.

In a topos "subobject" becomes, at least implicitly, a first-order notion, as follows.

As noted above, a topos is a category C having all finite limits and hence in particular the empty limit or final object 1. It is then natural to treat morphisms of the form x: 1 → X as elementsx ∈ X. Morphisms f: X → Y thus correspond to functions mapping each element x ∈ X to the element fx ∈ Y, with application realized by composition.

One might then think to define a subobject of X as an equivalence class of monics m: X′ → X having the same image or range { mx | x ∈ X′ }. The catch is that two or more morphisms may correspond to the same function, that is, we cannot assume that C is concrete in the sense that the functor C(1,-): C → Set is faithful. For example the category Grph of graphs and their associated homomorphisms is a topos whose final object 1 is the graph with one vertex and one edge (a self-loop), but is not concrete because the elements 1 → G of a graph G correspond only to the self-loops and not the other edges, nor the vertices without self-loops. Whereas the second-order definition makes G and its set of self-loops (with their vertices) distinct subobjects of G (unless every edge is, and every vertex has, a self-loop), this image-based one does not. This can be addressed for the graph example and related examples via the Yoneda Lemma as described in the Examples section below, but this then ceases to be first-order. Topoi provide a more abstract, general, and first-order solution.

Figure 1. m as a pullback of the generic subobject t along f.

As noted above a topos C has a subobject classifier Ω, namely an object of C with an element t ∈ Ω, the generic subobject of C, having the property that every monicm: X′ → X arises as a pullback of the generic subobject along a unique morphism f: X → Ω, as per Figure 1. Now the pullback of a monic is a monic, and all elements including t are monics since there is only one morphism to 1 from any given object, whence the pullback of t along f: X → Ω is a monic. The monics to X are therefore in bijection with the pullbacks of t along morphisms from X to Ω. The latter morphisms partition the monics into equivalence classes each determined by a morphism f: X → Ω, the characteristic morphism of that class, which we take to be the subobject of X characterized or named by f.

All this applies to any topos, whether or not concrete. In the concrete case, namely C(1,-) faithful, for example the category of sets, the situation reduces to the familiar behavior of functions. Here the monics m: X′ → X are exactly the injections (one-one functions) from X′ to X, and those with a given image { mx | x ∈ X′ } constitute the subobject of X corresponding to the morphism f: X → Ω for which f−1(t) is that image. The monics of a subobject will in general have many domains, all of which however will be in bijection with each other.

To summarize, this first-order notion of subobject classifier implicitly defines for a topos the same equivalence relation on monics to X as had previously been defined explicitly by the second-order notion of subobject for any category. The notion of equivalence relation on a class of morphisms is itself intrinsically second-order, which the definition of topos neatly sidesteps by explicitly defining only the notion of subobject classifier Ω, leaving the notion of subobject of X as an implicit consequence characterized (and hence namable) by its associated morphism f: X → Ω.

Every Grothendieck topos is an elementary topos, but the converse is not true (since every Grothendieck topos is cocomplete, which is not required from an elementary topos).

The categories of finite sets, of finite G-sets (actions of a group G on a finite set), and of finite graphs are elementary topoi which are not Grothendieck topoi.

If C is a small category, then the functor categorySetC (consisting of all covariant functors from C to sets, with natural transformations as morphisms) is a topos. For instance, the category Grph of graphs of the kind permitting multiple directed edges between two vertices is a topos. A graph consists of two sets, an edge set and a vertex set, and two functions s,t between those sets, assigning to every edge e its source s(e) and target t(e). Grph is thus equivalent to the functor category SetC, where C is the category with two objects E and V and two morphisms s,t: E → V giving respectively the source and target of each edge.

The Yoneda Lemma asserts that Cop embeds in SetC as a full subcategory. In the graph example the embedding represents Cop as the subcategory of SetC whose two objects are V' as the one-vertex no-edge graph and E' as the two-vertex one-edge graph (both as functors), and whose two nonidentity morphisms are the two graph homomorphisms from V' to E' (both as natural transformations). The natural transformations from V' to an arbitrary graph (functor) G constitute the vertices of G while those from E' to G constitute its edges. Although SetC, which we can identify with Grph, is not made concrete by either V' or E' alone, the functor U: Grph → Set2 sending object G to the pair of sets (Grph(V' ,G), Grph(E' ,G)) and morphism h: G → H to the pair of functions (Grph(V' ,h), Grph(E' ,h)) is faithful. That is, a morphism of graphs can be understood as a pair of functions, one mapping the vertices and the other the edges, with application still realized as composition but now with multiple sorts of generalized elements. This shows that the traditional concept of a concrete category as one whose objects have an underlying set can be generalized to cater for a wider range of topoi by allowing an object to have multiple underlying sets, that is, to be multisorted.

The following texts are easy-paced introductions to toposes and the basics of category theory. They should be suitable for those knowing little mathematical logic and set theory, even non-mathematicians.

F. William Lawvere and Stephen H. Schanuel (1997) Conceptual Mathematics: A First Introduction to Categories. Cambridge University Press. An "introduction to categories for computer scientists, logicians, physicists, linguists, etc." (cited from cover text).

F. William Lawvere and Robert Rosebrugh (2003) Sets for Mathematics. Cambridge University Press. Introduces the foundations of mathematics from a categorical perspective.

Francis Borceux (1994) Handbook of Categorical Algebra 3: Categories of Sheaves, Volume 52 of the Encyclopedia of Mathematics and its Applications. Cambridge University Press. The third part of "Borceux' remarkable magnum opus", as Johnstone has labelled it. Still suitable as an introduction, though beginners may find it hard to recognize the most relevant results among the huge amount of material given.

Peter T. Johnstone (1977) Topos Theory, L. M. S. Monographs no. 10. Academic Press. ISBN 0-12-387850-0. For a long time the standard compendium on topos theory. However, even Johnstone describes this work as "far too hard to read, and not for the faint-hearted."

Peter T. Johnstone (2002) Sketches of an Elephant: A Topos Theory Compendium. Oxford Science Publications. As of early 2010, two of the scheduled three volumes of this overwhelming compendium were available.

Books that target special applications of topos theory

Maria Cristina Pedicchio and Walter Tholen, eds. (2004) Categorical Foundations: Special Topics in Order, Topology, Algebra, and Sheaf Theory. Volume 97 of the Encyclopedia of Mathematics and its Applications. Cambridge University Press. Includes many interesting special applications.