Carrying an HN filtration along a monomorphism #
Both constructions here move a chain by Subobject.map of a mono.
Uniqueness/Tail.lean owns tailAt, which pushes the chain above an index
down to the quotient by that index. This file owns the other half — restrict,
the chain below an index as an HN filtration of the term at that index — and
ofIso, the transport along an isomorphism that the two classes at a cutoff
need in order to be closed under isomorphism.
The two together cut a filtration in half at any index, and the halves keep the
original factors — so their phases are read off F.phase with no new
computation. That is what makes a cut at the index where the phases cross a
number produce one object with all phases above it and one with all phases at
or below it.
The chain is carried across by Subobject.map along the arrow of the term:
map_restrictChain says the mapped-back chain is the original one, and
MonoDescent.lean then supplies the successive quotients unchanged.
The j-th term of an HN filtration read as a subobject of the k-th
term, for j ≤ k.
Equations
- F.restrictChain k hkn j hjk = CategoryTheory.Subobject.mk ((F.chain ⟨j, ⋯⟩).ofLE (F.chain ⟨k, ⋯⟩) ⋯)
Instances For
Mapping a restricted term back along the arrow of the k-th term recovers
the original term.
The restricted chain is monotone, by composing the inclusions.
The chain below an index is an HN filtration of the term at that
index. The factors are the original factors 0, …, k-1, so the phases are
the original phases up to k.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A restriction starts where the filtration it was cut from starts.
The lowest phase of a restriction is the last phase below the cut.
Transport along an isomorphism. The chain is carried by
Subobject.map of the isomorphism, which leaves every successive quotient
isomorphic to the original, so the phases are literally the same function.
Equations
- One or more equations did not get rendered due to their size.