Canonical good-truncation towers #
Mathlib's good truncations assemble into a natural ℕ-indexed tower. Under local homology hypotheses, their inclusion cocone is colimiting.
Main definitions #
CochainComplex.truncLEToTruncLE gives the transitions;
CochainComplex.truncLETower and CochainComplex.truncLETowerCocone
assemble the diagram and its inclusions; CochainComplex.truncLETowerMap
acts on morphisms.
Main results #
CochainComplex.isColimitTruncLETowerCocone proves the colimit property;
CochainComplex.isColimitMapTruncLETowerCocone proves it after applying a
zero-morphism-preserving functor degreewise.
Implementation notes #
At degree p, the inclusion is an isomorphism when the cutoff is strictly
greater than p; at the cutoff the truncation contains cycles. Evaluation
is eventually constant, and degreewise colimits assemble into a colimit of
complexes.
References #
This extends Mathlib's CochainComplex.truncLE, CochainComplex.ιTruncLE,
and CochainComplex.truncLEMap.
Tags #
good truncation, cochain complexes, colimits
The transition is characterized by its composite with the monic inclusion into K:
that composite is the inclusion at the earlier cutoff.
Equations
- K.truncLEToTruncLE h = CategoryTheory.CategoryStruct.comp (CategoryTheory.asIso ((K.truncLE n).ιTruncLE m)).inv (CochainComplex.truncLEMap (K.ιTruncLE n) m)
Instances For
Monicity of the later inclusion makes this equation the uniqueness principle used to prove the tower's functor laws.
Monicity of the later inclusion makes this equation the uniqueness principle used to prove the tower's functor laws.
Natural-number cutoffs are cofinal among integer cutoffs; at each fixed degree, components stabilize once the cutoff is strictly above that degree.
Equations
- K.truncLETower = { obj := fun (n : ℕ) => K.truncLE ↑n, map := fun {n m : ℕ} (f : n ⟶ m) => K.truncLEToTruncLE ⋯, map_id := ⋯, map_comp := ⋯ }
Instances For
The transition equation makes Mathlib's inclusions a cocone. Its point is
definitionally K, allowing the degreewise colimit criterion to apply directly.
Equations
Instances For
The colimit exists without ambient colimit assumptions: each evaluated cocone stabilizes beyond its degree, and the degreewise colimit criterion assembles them. Local homology assumptions are needed to form Mathlib's good truncations.
Equations
Instances For
A functor preserving zero morphisms sends this particular good-truncation inclusion cocone to a colimit cocone of complexes. At every fixed degree its legs eventually become isomorphisms, and the functor preserves those isomorphisms. No ambient colimit-preservation hypothesis is needed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Composing both sides with the monic later inclusion reduces this compatibility to naturality of Mathlib's truncation inclusions.
Mathlib's fixed-cutoff CochainComplex.truncLEMap gives the components;
transition naturality assembles them into a map of towers.
Equations
- CochainComplex.truncLETowerMap f = { app := fun (n : ℕ) => CochainComplex.truncLEMap f ↑n, naturality := ⋯ }
Instances For
Together with the colimit theorem, this identifies the map induced on colimit
points by CochainComplex.truncLETowerMap with the original morphism f.
The identity law follows stagewise from Mathlib's fixed-cutoff truncation map law.
The composition law follows stagewise from Mathlib's fixed-cutoff truncation map law.