A long time ago I attended a semester course by Faltings on crystalline cohomology. This was when I was visiting Princeton with Frans Oort as a graduate student. I learned a lot in his course and it really helped me with my thesis (I eventually used a crystalline ext group to define a Dieudonne module for group schemes in characteristic p). Faltings never used any notes, except during the lecture where he explained the crystalline cohomology of an abelian variety (and then it was a tiny piece of paper he pulled out of his breast pocket). Of course, yours truly can’t even teach a calculus course without notes…!

Dumbed down as much as possible here are some ingredients of crystalline cohomology.

**Sheaf theory.** Let C be a site. Suppose there is an object X in C such that (1) every object T of C has a map T —> X and (2) the products X^n exist in C. Then X —> * is surjective and we obtain a Cech-to-cohomology spectral sequence H^m(X^n, F) => H^{n + m}(F) for any abelian sheaf F. If H^m(X^n, F) = 0 for m > 0 then the Cech complex

0 —> F(X) —> F(X^2) —> F(X^3) —> …

computes cohomology. Sometimes X is an ind-object of C and not a real object. Then the above still works, except that you have to clarify what the values F(X^n) and H^m(X^n, F) are.

**Thickenings:** Let A be a finite type F_p-algebra. Set S = Spec(A). Consider the site C consisting of finite order thickenings S —> T where T is a scheme over Z_p. We denote an object just T with the immersion S —> T understood. Coverings are jointly surjective families (T_i —> T). Choose a surjection Z_p[x_1, …, x_r] —> A with kernel J. Let B be the J-adic completion of Z_p[x_1, …, x_r]. Then X = Spec(B) is an ind-object of C such that every T has a morphism to X (because of the universal property of polynomial rings). The products X^n = Spec(B(n + 1)) exist in the category of thickenings with B(n + 1) defined as the completion of a polynomial ring in r(n + 1) variables. Looking at the structure sheaf on this site we get that its cohomology is computed by the Cech complex

0 —> B —> B(1) —> B(2) —> …

We’d like to rewrite this complex in another way, but that’s hard to do without divided powers.

**Divided power thickenings:** Here we consider S —> T as above where the ideal defining S in T is endowed with a divided power structure. In this case the universal ring isn’t the J-adic completion of the polynomial ring, but it’s (a suitably completed) divided power envelope D of J in Z[x_1, …, x_r]. Similarly X^n corresponds to a divided power envelope D(n + 1) of a polynomial ring in r(n + 1) variables. The cohomology of the structure sheaf is computed by the complex

0 —> D —> D(1) —> D(2) —> …

just as before.

**Crystalline Poincare lemma:** There is a module of differentials Ω_D^1 where the differentials are compatible with the divided powers. It turns out that this is free on the elements dx_i over D. We get a de Rham complex Ω_D^*. A version of the Poincare lemma states that the complex displayed above is canonically quasi-isomorphic to Ω_D^* (as complexes of abelian groups). The usual method for proving this, very roughly, is to consider a double complex with terms Ω_{D(q + 1)/D(q)}^p, use spectral sequences. One concludes using some homological algebra (analogous to Grothendieck’s thing with Amitsur’s complex) and a more classical Poincare lemma for a divided power polynomial algebra.

**Upshot.** It’s easier and often convenient to think of crystalline cohomology in terms of de Rham cohomology of suitable algebras. In this approach you prove the independence of the choice of the particular algebra directly. In particular, you don’t have to consider the crystalline site at all. This works for nonaffine schemes as well, but you then you have to consider affine open coverings, a double complex, etc.

**Question:** Suppose you look at the sheaf Ω^1 which associates to an object T of the crystalline site the sections of Ω_T^1 (differentials compatible with divided powers). Does anybody know what should be H^i(Ω^1)? How about H^0?

Pingback: Crystalline Cohomology, II | Stacks Project Blog