Last Thursday's New Scientist contained a splash about topos theory, so on Friday I decided it was time to try and understand what a topos is. This seemed to go quite well, and I went to sleep at a reasonable hour on Friday night. On Saturday morning, however, I woke extremely late, at 11:30, with no memory of having woken earlier. I felt dislocated for the remainder of the day, the Grand Prix qualifying, Grand National, FA Cup semi-final, Bear Grylls, Doctor Who, and Match of the Day all merging into a timeless unity. And every day since, I've carried a headache of varying severity. I feel like something has blown a hole in my mind. I say this merely as a warning, for I am now about to tell you what I learnt on Friday.
A topos is a type of category. Recall that a category is a collection of objects, such that any pair of objects has a collection of 'morphisms' between them. The morphisms satisfy a binary operation called composition, which means that you can tack one morphism onto the end of another to get a new morphism. For example, the category Set contains all sets as objects and the functions between sets as morphisms. In fact, the category of sets is itself a topos. There are, however, topoi whose objects are not sets. Topos theory is therefore a generalisation of the concept of a set, within category theory.
A popular example of a topos is a topos of presheaves. So what is a presheaf? Here we need a couple of extra concepts from category theory. Categories can be related to each other by maps called 'functors', which map the objects in one category to the objects in another, and which map the morphisms in one category to the morphisms in the other category, in a way which preserves the composition of morphisms. Furthermore, one can relate one functor to another by something called a 'natural transformation'. Suppose that A is an object in a category C, and suppose that X is a functor from C to another category D, and Y is a functor from C to another category E. X maps A to X(A), an object in category D, and Y maps A to Y(A), an object in category E. A natural transformation N from X to Y defines the image of X in Y. Hence, a natural transformation is defined by a family of maps, NA: X(A) → Y(A), for all the objects A in the category C.
Now, a presheaf is a functor from an arbitrary category into the category of sets. The collection of presheaves on a category can itself be treated as a category. The morphisms between the presheaves in such a category are natural transformations between functors. And not only is the collection of presheaves on a category itself a category, but it is a topos.
The general definition of a topos, I leave to another day.