The Čech differential in coordinates #
Mathlib defines the Čech complex of a presheaf as alternatingCofaceMapComplex applied to the
cosimplicial object attached to the Čech nerve of a formal coproduct. That definition is compact
but says nothing directly about components: it never names the index of a cochain, nor the
restriction that carries a face into it.
This file supplies that reading. cechComplexFunctor_delta_π computes one coface at one index,
and cechComplexFunctor_d_π assembles the alternating sum. Both are statements about Mathlib's
construction, so they live in Mathlib's namespace.
Main statements #
cechComplexFunctor_delta_π— thej-th coface, projected atx, is the projection at the facex ∘ j.succAbovefollowed by the presheaf on the face inclusion;cechComplexFunctor_d_π— the differential, projected atx, is the alternating sum of those;cechComplexFunctor_map_f_π— the map induced by a morphism of presheaves, projected atx, is the projection atxfollowed by that morphism on the intersection.
Implementation notes #
The projections are stated in the shape Mathlib's construction produces, indexed by
ToType (mk n) → ι with the object written through the Čech nerve rather than as ∏ᶜ (U ∘ x).
A caller-friendly restatement belongs downstream, together with the identification of the
intersection.
Both proofs finish with exact rather than rw. The two sides differ in the HasProduct
instance argument that Pi.π carries, which rw will not see through but definitional
unification will. Rewriting with Pi.lift_π fails here for that reason alone.
Fin.succAbove needs no reindexing lemma: SimplexCategory.δ j has
toOrderHom = Fin.succAbove j, so this is the shape the Čech nerve already produces via
FormalCoproduct.mapPower.
The Čech nerve of the family U, as a simplicial formal coproduct.
Equations
- CategoryTheory.cechNerve U = { I := ι, obj := U }.cech
Instances For
The Čech cosimplicial object of a presheaf against the nerve of U.
Equations
Instances For
Degree-n Čech cochains, in the shape Mathlib's construction produces.
Equations
- CategoryTheory.cechTermFamily U P n x = P.obj (Opposite.op (((CategoryTheory.cechNerve U).obj (Opposite.op { len := n })).obj x))
Instances For
The j-th coface, projected at the index x, is the projection at the face index
(cech.map (δ j).op).f x = x ∘ j.succAbove followed by the presheaf on the face inclusion.
Preadditivity plays no part here — only the alternating sum in cechComplexFunctor_d_π needs
it.
The map a morphism of presheaves induces on Čech cochains, projected at the index x, is the
projection at x followed by the morphism on that intersection.
evalOp sends a morphism to Pi.map componentwise, so once the two sides are recognised as a
Pi.map and its projection this is Pi.map_π. The recognition is rfl rather than a rewrite:
cechComplexFunctor reaches evalOp through two functor compositions, and only definitional
unfolding crosses them.
Unlike cechComplexFunctor_delta_π this cannot omit Preadditive A: it names
cechComplexFunctor itself, whose target CochainComplex A ℕ needs the zero morphisms.
The Čech differential, projected at the index x, is the alternating sum of the face
restrictions. This is the formula a concrete computation of Hⁱ consumes.