See Alper 2.4.1.
In moduli situations, you often start by considering a moduli functor which maps a base to families of some sort over that base: \(F:\mathcal S\to \mathsf{Sets}\). In an effort to keep track of automorphisms, you upgrade this to a functor \(F:\mathcal S\to \mathsf{Groupoids}\). Alper says it’s more convenient to define a prestack by packaging all the groupoids \(F(S)\) into one huge category \(\mathcal X\) over \(\mathcal S\) parameterizing pairs \((a,S)\) where \(S\in \mathcal S\) and \(a\in F(S)\).
Definition
Let \(\mathcal S\) be a category and \(p:\mathcal X\to \mathcal S\) be a functor of categories. We visualize this data as
where the lower case letters \(a,b\) are objects in \(\mathcal X\) and the upper case letters \(S, T\) are objects of \(\mathcal S\). We say that \(a\) is over \(S\) and that a morphism \(\alpha:a\to b\) is over \(f:S\to T\).
Such a functor \(p:\mathcal X\to \mathcal S\) is a prestack over a category \(\mathcal S\) if
- (Pullbacks exist.) For every diagram
of solid arrows, there exists an \(a\) over \(S\) and a morphism \(a\to b\) over \(S\to T\) filling in the diagram
- (universal property for pullbacks.) For every diagram
of solid arrows, there exists a unique arrow \(a\to B\) over \(R\to S\) filling in the diagram.
Some terminology:
- We often refer to the prestack \(p:\mathcal X\to \mathcal S\) simply by \(\mathcal X\) and the projection by \(p_{\mathcal X}\).
- For an object \(S\in \mathcal S\), the fiber category \(\mathcal X(S)\) over \(S\) is the category of objects in \(\mathcal X\) over \(S\) with morphisms over \(\id_S\). It is a groupoid.
For this reason people often call prestacks “categories fibered over groupoid”.
Example
(Schemes are prestacks). Consider a scheme \(X\) and its functor of points. It’s a prestack over \(\text{Sch}\): \(p:\text{Sch}/X\to \text{Sch}\) takes an object \(T\to X\) and sends it to \(T\). It’s just the forgetful functor.