Documentation

DerivedAlgGeo.CategoryTheory.FiniteFiltration

Finite filtrations in an abelian category #

This file records the common categorical root of finite filtrations. FiniteExactTower owns the successive short exact sequences; a FiniteFiltration M extends that parent with a proof that its bottom is zero and a chosen identification of its top with M.

When a graded piece is itself filtered, FiniteFiltration.pullbackTower pulls its stages back along the coarse quotient projection. The endpoint comparison isomorphisms identify the new tower with the adjacent coarse stages, providing the categorical splice data used by almost-disconnected composition. FiniteExactTower.replaceSteps assembles a family of such replacement towers, and FiniteFiltration.refineAll supplies the abelian quotient-pullback specialization.

Keeping this root independent of schemes prevents geometric filtrations (for example, the almost-disconnected filtrations of arXiv:2607.28411, Appendix B) from growing their own incompatible tower type.

A finite tower of successive short exact extensions.

This is the endpoint-free categorical parent of FiniteFiltration. It is useful when a filtration of a quotient is pulled back to a tower beginning at the kernel: that intermediate tower does not itself begin at zero, so it must not be encoded as a second filtration type or by putting a false endpoint condition into a structure field.

Instances For

    A finite filtration of an object by successive short exact sequences.

    object i.castSucc ⟶ object i.succ ⟶ graded i is the ith short exact sequence. The endpoint data express F₀ = 0 and Fₙ = M without making either equality definitional.

    Instances For

      The short complex presenting the ith successive quotient.

      Equations
      Instances For

        The composable-arrow diagram canonically generated by the successive inclusions.

        Equations
        Instances For

          The canonical composite from any stage to the top of the tower.

          Equations
          Instances For

            The ordered list of successive quotients in an exact tower.

            Equations
            Instances For

              The initial segment ending at a chosen stage of an exact tower.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                The start of an initial segment agrees with the start of the original tower.

                Equations
                Instances For

                  The end of an initial segment is its selected original stage.

                  Equations
                  Instances For

                    The terminal segment beginning at a chosen stage of an exact tower.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      The start of a terminal segment is its selected original stage.

                      Equations
                      Instances For

                        The end of a terminal segment agrees with the end of the original tower.

                        Equations
                        Instances For
                          def CategoryTheory.FiniteExactTower.prepend {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] (T : FiniteExactTower C) {X G : C} (f : X ⟶ T.object 0) (g : T.object 0 ⟶ G) (zero : CategoryStruct.comp f g = 0) (shortExact : { X₁ := X, X₂ := T.object 0, X₃ := G, f := f, g := g, zero := zero }.ShortExact) :

                          Prepend one short exact step to an exact tower.

                          This is the primitive from which endpoint-compatible towers are concatenated. Adding at the left edge keeps the Fin embeddings definitional, avoiding transports between the two distinct right-edge embeddings i.castSucc.succ and i.succ.castSucc.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[simp]
                            theorem CategoryTheory.FiniteExactTower.prepend_length {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] (T : FiniteExactTower C) {X G : C} (f : X ⟶ T.object 0) (g : T.object 0 ⟶ G) (zero : CategoryStruct.comp f g = 0) (shortExact : { X₁ := X, X₂ := T.object 0, X₃ := G, f := f, g := g, zero := zero }.ShortExact) :
                            (T.prepend f g zero shortExact).length = T.length + 1

                            Concatenate two exact towers along an isomorphism from the left endpoint to the right start.

                            The result contains the graded pieces of T, followed by those of U. The seam is an isomorphism rather than an equality because pulled-back quotient filtrations meet their adjacent coarse stages canonically only up to isomorphism.

                            Equations
                            Instances For

                              The start of a concatenation is canonically the start of its left tower.

                              Equations
                              Instances For

                                The end of a concatenation is canonically the end of its right tower.

                                Equations
                                Instances For
                                  noncomputable def CategoryTheory.FiniteExactTower.replaceSteps {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] (T : FiniteExactTower C) (R : Fin T.length → FiniteExactTower C) (start : (i : Fin T.length) → (R i).object 0 ≅ T.object i.castSucc) (finish : (i : Fin T.length) → (R i).object (Fin.last (R i).length) ≅ T.object i.succ) :

                                  Simultaneously replace every step of an exact tower by an endpoint-compatible exact tower.

                                  This is the many-step parent of FiniteFiltration.refineStep. It is deliberately owned by FiniteExactTower: geometric consumers provide replacement towers, while their concatenation, ordering, and endpoint bookkeeping remain common categorical infrastructure.

                                  Equations
                                  Instances For
                                    @[simp]
                                    theorem CategoryTheory.FiniteExactTower.replaceSteps_length {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] (T : FiniteExactTower C) (R : Fin T.length → FiniteExactTower C) (start : (i : Fin T.length) → (R i).object 0 ≅ T.object i.castSucc) (finish : (i : Fin T.length) → (R i).object (Fin.last (R i).length) ≅ T.object i.succ) :
                                    (T.replaceSteps R start finish).length = (List.ofFn fun (i : Fin T.length) => (R i).length).sum
                                    @[simp]
                                    theorem CategoryTheory.FiniteExactTower.replaceSteps_gradedObjects {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] (T : FiniteExactTower C) (R : Fin T.length → FiniteExactTower C) (start : (i : Fin T.length) → (R i).object 0 ≅ T.object i.castSucc) (finish : (i : Fin T.length) → (R i).object (Fin.last (R i).length) ≅ T.object i.succ) :
                                    (T.replaceSteps R start finish).gradedObjects = (List.ofFn fun (i : Fin T.length) => (R i).gradedObjects).flatten
                                    noncomputable def CategoryTheory.FiniteExactTower.replaceStepsInitialIso {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] (T : FiniteExactTower C) (R : Fin T.length → FiniteExactTower C) (start : (i : Fin T.length) → (R i).object 0 ≅ T.object i.castSucc) (finish : (i : Fin T.length) → (R i).object (Fin.last (R i).length) ≅ T.object i.succ) :
                                    T.object 0 ≅ (T.replaceSteps R start finish).object 0

                                    The simultaneous replacement starts at the original tower's initial object.

                                    Equations
                                    Instances For
                                      noncomputable def CategoryTheory.FiniteExactTower.replaceStepsTerminalIso {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] (T : FiniteExactTower C) (R : Fin T.length → FiniteExactTower C) (start : (i : Fin T.length) → (R i).object 0 ≅ T.object i.castSucc) (finish : (i : Fin T.length) → (R i).object (Fin.last (R i).length) ≅ T.object i.succ) :
                                      (T.replaceSteps R start finish).object (Fin.last (T.replaceSteps R start finish).length) ≅ T.object (Fin.last T.length)

                                      The simultaneous replacement ends at the original tower's terminal object.

                                      Equations
                                      Instances For

                                        Apply an exact functor to an endpoint-free exact tower.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For

                                          The short complex presenting the ith successive quotient.

                                          Equations
                                          Instances For

                                            The composable-arrow diagram underlying a finite filtration.

                                            Equations
                                            Instances For
                                              noncomputable def CategoryTheory.FiniteFiltration.toObject {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {M : C} (F : FiniteFiltration C M) (i : Fin (F.length + 1)) :
                                              F.object i ⟶ M

                                              The canonical map from a filtration stage to the filtered object.

                                              Equations
                                              Instances For

                                                Apply an exact functor to every term and every successive quotient of a finite filtration.

                                                This is the common categorical operation used when a geometric filtration is pulled back by a flat morphism: the geometric leaf only has to identify its pullback functor and the images of the graded pieces. Exactness stays here, rather than being rebuilt in each almost-disconnected or stability-condition consumer.

                                                Equations
                                                Instances For
                                                  noncomputable def CategoryTheory.FiniteFiltration.replaceSteps {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {M : C} (F : FiniteFiltration C M) (R : Fin F.length → FiniteExactTower C) (start : (i : Fin F.length) → (R i).object 0 ≅ F.object i.castSucc) (finish : (i : Fin F.length) → (R i).object (Fin.last (R i).length) ≅ F.object i.succ) :

                                                  Replace every step of a filtration by an endpoint-compatible exact tower.

                                                  The endpoint-free work is delegated to FiniteExactTower.replaceSteps; this specialization only transports the zero bottom and the chosen identification of the top with the filtered object.

                                                  Equations
                                                  Instances For
                                                    @[simp]
                                                    theorem CategoryTheory.FiniteFiltration.replaceSteps_length {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {M : C} (F : FiniteFiltration C M) (R : Fin F.length → FiniteExactTower C) (start : (i : Fin F.length) → (R i).object 0 ≅ F.object i.castSucc) (finish : (i : Fin F.length) → (R i).object (Fin.last (R i).length) ≅ F.object i.succ) :
                                                    (F.replaceSteps R start finish).length = (List.ofFn fun (i : Fin F.length) => (R i).length).sum
                                                    @[simp]
                                                    theorem CategoryTheory.FiniteFiltration.replaceSteps_gradedObjects {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {M : C} (F : FiniteFiltration C M) (R : Fin F.length → FiniteExactTower C) (start : (i : Fin F.length) → (R i).object 0 ≅ F.object i.castSucc) (finish : (i : Fin F.length) → (R i).object (Fin.last (R i).length) ≅ F.object i.succ) :
                                                    (F.replaceSteps R start finish).gradedObjects = (List.ofFn fun (i : Fin F.length) => (R i).gradedObjects).flatten
                                                    noncomputable def CategoryTheory.FiniteFiltration.spliceStep {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {M : C} (F : FiniteFiltration C M) (i : Fin F.length) (T : FiniteExactTower C) (initialIso : T.object 0 ≅ F.object i.castSucc) (terminalIso : T.object (Fin.last T.length) ≅ F.object i.succ) :

                                                    Replace one step of a filtration by an endpoint-compatible exact tower.

                                                    The prefix and suffix come from the original filtration; the replacement tower supplies all steps between the adjacent coarse stages. This generic categorical operation is the common consumer of quotient pullback towers and does not depend on schemes or on the geometry of the graded pieces.

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      @[simp]
                                                      theorem CategoryTheory.FiniteFiltration.spliceStep_length {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {M : C} (F : FiniteFiltration C M) (i : Fin F.length) (T : FiniteExactTower C) (initialIso : T.object 0 ≅ F.object i.castSucc) (terminalIso : T.object (Fin.last T.length) ≅ F.object i.succ) :
                                                      (F.spliceStep i T initialIso terminalIso).length = F.length - 1 + T.length
                                                      @[simp]
                                                      theorem CategoryTheory.FiniteFiltration.spliceStep_gradedObjects {C : Type u} [Category.{v, u} C] [Limits.HasZeroMorphisms C] {M : C} (F : FiniteFiltration C M) (i : Fin F.length) (T : FiniteExactTower C) (initialIso : T.object 0 ≅ F.object i.castSucc) (terminalIso : T.object (Fin.last T.length) ≅ F.object i.succ) :
                                                      (F.spliceStep i T initialIso terminalIso).gradedObjects = List.take (↑i) F.gradedObjects ++ T.gradedObjects ++ List.drop (↑i + 1) F.gradedObjects
                                                      @[reducible, inline]
                                                      noncomputable abbrev CategoryTheory.FiniteFiltration.pullbackObject {C : Type u} [Category.{v, u} C] [Abelian C] {X Q : C} (p : X ⟶ Q) (F : FiniteFiltration C Q) (i : Fin (F.length + 1)) :
                                                      C

                                                      The stage obtained by pulling a filtration stage back along an epimorphism.

                                                      Equations
                                                      Instances For

                                                        The inclusion between two consecutive pulled-back stages.

                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          noncomputable def CategoryTheory.FiniteFiltration.pullbackProjection {C : Type u} [Category.{v, u} C] [Abelian C] {X Q : C} (p : X ⟶ Q) (F : FiniteFiltration C Q) (i : Fin F.length) :

                                                          The quotient projection from a pulled-back stage.

                                                          Equations
                                                          Instances For
                                                            theorem CategoryTheory.FiniteFiltration.pullback_exact {C : Type u} [Category.{v, u} C] [Abelian C] {X Q : C} (p : X ⟶ Q) (F : FiniteFiltration C Q) (i : Fin F.length) :
                                                            { X₁ := pullbackObject p F i.castSucc, X₂ := pullbackObject p F i.succ, X₃ := F.graded i, f := pullbackInclusion p F i, g := pullbackProjection p F i, zero := ⋯ }.Exact
                                                            noncomputable def CategoryTheory.FiniteFiltration.pullbackTower {C : Type u} [Category.{v, u} C] [Abelian C] {X Q : C} (p : X ⟶ Q) [Epi p] (F : FiniteFiltration C Q) :

                                                            Pull a quotient filtration back along an epimorphism.

                                                            The result is an endpoint-free exact tower: its bottom is the kernel of p, while its top is canonically isomorphic to X. This is the actual refinement operation used when a coarse short exact step is replaced by a filtration of its quotient.

                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              @[simp]

                                                              The bottom inclusion of the pullback tower, regarded as a kernel fork for p.

                                                              Equations
                                                              Instances For

                                                                The bottom of the pullback tower is a kernel of p.

                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For

                                                                  The top of the pullback tower is canonically the source of the epimorphism.

                                                                  Equations
                                                                  Instances For

                                                                    The bottom of the lifted refinement is canonically the preceding coarse stage.

                                                                    Equations
                                                                    Instances For

                                                                      The top of the lifted refinement is canonically the following coarse stage.

                                                                      Equations
                                                                      Instances For

                                                                        The initial comparison intertwines the lifted kernel inclusion and the coarse inclusion.

                                                                        noncomputable def CategoryTheory.FiniteFiltration.refineStep {C : Type u} [Category.{v, u} C] [Abelian C] {M : C} (F : FiniteFiltration C M) (i : Fin F.length) (R : FiniteFiltration C (F.graded i)) :

                                                                        Refine one graded quotient by pulling its filtration back to the adjacent coarse stages and splicing that exact tower into the original filtration.

                                                                        Equations
                                                                        Instances For
                                                                          noncomputable def CategoryTheory.FiniteFiltration.refineAll {C : Type u} [Category.{v, u} C] [Abelian C] {M : C} (F : FiniteFiltration C M) (R : (i : Fin F.length) → FiniteFiltration C (F.graded i)) :

                                                                          Refine every graded quotient of a filtration at once.

                                                                          For each coarse step, its quotient filtration is pulled back to an exact tower between the adjacent coarse stages. FiniteExactTower.replaceSteps then concatenates those lifted towers in coarse-step order. This is the categorical refinement used in the composition argument for almost-disconnected morphisms.

                                                                          Equations
                                                                          • One or more equations did not get rendered due to their size.
                                                                          Instances For
                                                                            @[simp]
                                                                            theorem CategoryTheory.FiniteFiltration.refineAll_length {C : Type u} [Category.{v, u} C] [Abelian C] {M : C} (F : FiniteFiltration C M) (R : (i : Fin F.length) → FiniteFiltration C (F.graded i)) :
                                                                            (F.refineAll R).length = (List.ofFn fun (i : Fin F.length) => (R i).length).sum