Documentation

LeanPool.RegtsSevenster.RS.Classical.Deligne.ChainAlgebra

The colimit algebra of the splitting chain #

A chain of objects with one-step transitions has a filtered colimit over the v-small copy of ℕ. Given stagewise multiplications compatible with the transitions, the colimit carries a multiplication; given a bottom-stage unit with stagewise unit laws, it becomes a monoid object, commutative when the stagewise multiplication is commutative up to the index transport. The development is generic over any monoidal category in which tensoring preserves the chain colimits — the ind-category of a small monoidal category qualifies by RS.tensorLeft_ind_preservesColimitsOfShape and its right-hand twin — so the splitting chain of ChainDelta can be instantiated later with B n := chainStage A M M' n and δ n := chainDelta.

The multiplication is assembled in two passes of colimit.desc through the preservation isomorphisms, mirroring the merge pattern of BigTensor: first against a fixed stage in the second slot, then over the second slot. All colimit-level laws are cast-free because the stage inclusions absorb the index transports.

def RS.chainCast {E : Type u} [CategoryTheory.Category.{v, u} E] (B : ℕ → E) {a b : ℕ} (h : a = b) :
B a ⟶ B b

Transport of a chain object along an equality of indices.

Equations
Instances For
    @[simp]

    The trivial index transport is the identity.

    @[simp]
    theorem RS.chainCast_trans {E : Type u} [CategoryTheory.Category.{v, u} E] (B : ℕ → E) {a b c : ℕ} (h : a = b) (h' : b = c) :

    Index transports compose.

    @[simp]
    theorem RS.chainCast_trans_assoc {E : Type u} [CategoryTheory.Category.{v, u} E] (B : ℕ → E) {a b c : ℕ} (h : a = b) (h' : b = c) {Z : E} (h✝ : B c ⟶ Z) :

    Index transports compose.

    noncomputable def RS.chainDiagram {E : Type u} [CategoryTheory.Category.{v, u} E] (B : ℕ → E) (δ : (n : ℕ) → B n ⟶ B (n + 1)) :

    The chain diagram over the v-small copy of ℕ, the shape at which the receiving category is assumed to have colimits.

    Equations
    Instances For
      noncomputable def RS.chainColimit {E : Type u} [CategoryTheory.Category.{v, u} E] (B : ℕ → E) (δ : (n : ℕ) → B n ⟶ B (n + 1)) [CategoryTheory.Limits.HasColimitsOfShape SmallNat E] :
      E

      The colimit object of the chain.

      Equations
      Instances For
        noncomputable def RS.chainColimitι {E : Type u} [CategoryTheory.Category.{v, u} E] (B : ℕ → E) (δ : (n : ℕ) → B n ⟶ B (n + 1)) [CategoryTheory.Limits.HasColimitsOfShape SmallNat E] (n : ℕ) :
        B n ⟶ chainColimit B δ

        The stage inclusion into the chain colimit.

        Equations
        Instances For
          @[simp]

          The chain morphisms are absorbed by the stage inclusions.

          @[simp]

          The chain morphisms are absorbed by the stage inclusions.

          @[simp]

          The transitions are absorbed by the stage inclusions.

          @[simp]

          The transitions are absorbed by the stage inclusions.

          @[simp]

          The index transports are absorbed by the stage inclusions.

          @[simp]

          The index transports are absorbed by the stage inclusions.

          Maps out of the chain colimit agree once they agree on all stages.

          The colimit multiplication #

          Stagewise multiplications compatible with the transitions assemble into a multiplication on the chain colimit. The two compatibility squares are taken as hypotheses; only the left one needs an index transport, since (i + 1) + 1 + j is not definitionally (i + 1 + j) + 1.

          Multiplying after a chain morphism in the first slot agrees with multiplying first, once both land in the colimit.

          Multiplying after a chain morphism in the second slot agrees with multiplying first, once both land in the colimit.

          The multiply-then-include maps against a fixed stage in the second slot form a cocone on the chain diagram tensored on the right with that stage.

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

            Partial multiplication of the chain colimit against a fixed stage in the second slot.

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

              The partial multiplications form a cocone on the chain diagram tensored on the left with the chain colimit.

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

                The colimit multiplication: the partial multiplications assembled over the second slot.

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

                  Defining equation of the colimit multiplication: on a pair of stages it is multiply-then-include.

                  The multiply-then-include maps against a fixed stage in the first slot form a cocone on the chain diagram tensored on the left with that stage.

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

                    Partial multiplication of a fixed stage in the first slot against the chain colimit.

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

                      The unit and the monoid laws #

                      The colimit unit is the bottom-stage unit followed by the stage inclusion. The monoid laws hold on the colimit whenever their stagewise forms hold; the index transports disappear into the stage inclusions.

                      The colimit unit: the bottom-stage unit followed by the stage inclusion.

                      Equations
                      Instances For
                        theorem RS.chainColimit_one_mul {E : Type u} [CategoryTheory.Category.{v, u} E] (B : ℕ → E) (δ : (n : ℕ) → B n ⟶ B (n + 1)) [CategoryTheory.Limits.HasColimitsOfShape SmallNat E] [CategoryTheory.MonoidalCategory E] (mu : (i j : ℕ) → CategoryTheory.MonoidalCategoryStruct.tensorObj (B i) (B j) ⟶ B (i + 1 + j)) (hδl : ∀ (i j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (δ i) (B j)) (mu (i + 1) j) = CategoryTheory.CategoryStruct.comp (mu i j) (CategoryTheory.CategoryStruct.comp (δ (i + 1 + j)) (chainCast B ⋯))) (hδr : ∀ (i j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (B i) (δ j)) (mu i (j + 1)) = CategoryTheory.CategoryStruct.comp (mu i j) (δ (i + 1 + j))) [∀ (X : E), CategoryTheory.Limits.PreservesColimitsOfShape SmallNat (CategoryTheory.MonoidalCategory.tensorRight X)] [∀ (X : E), CategoryTheory.Limits.PreservesColimitsOfShape SmallNat (CategoryTheory.MonoidalCategory.tensorLeft X)] (u : CategoryTheory.MonoidalCategoryStruct.tensorUnit E ⟶ B 0) (hul : ∀ (j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight u (B j)) (mu 0 j) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.leftUnitor (B j)).hom (chainMap B δ ⋯)) :

                        Left unit law of the colimit multiplication, from the stagewise left unit law.

                        theorem RS.chainColimit_mul_one {E : Type u} [CategoryTheory.Category.{v, u} E] (B : ℕ → E) (δ : (n : ℕ) → B n ⟶ B (n + 1)) [CategoryTheory.Limits.HasColimitsOfShape SmallNat E] [CategoryTheory.MonoidalCategory E] (mu : (i j : ℕ) → CategoryTheory.MonoidalCategoryStruct.tensorObj (B i) (B j) ⟶ B (i + 1 + j)) (hδl : ∀ (i j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (δ i) (B j)) (mu (i + 1) j) = CategoryTheory.CategoryStruct.comp (mu i j) (CategoryTheory.CategoryStruct.comp (δ (i + 1 + j)) (chainCast B ⋯))) (hδr : ∀ (i j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (B i) (δ j)) (mu i (j + 1)) = CategoryTheory.CategoryStruct.comp (mu i j) (δ (i + 1 + j))) [∀ (X : E), CategoryTheory.Limits.PreservesColimitsOfShape SmallNat (CategoryTheory.MonoidalCategory.tensorRight X)] [∀ (X : E), CategoryTheory.Limits.PreservesColimitsOfShape SmallNat (CategoryTheory.MonoidalCategory.tensorLeft X)] (u : CategoryTheory.MonoidalCategoryStruct.tensorUnit E ⟶ B 0) (hur : ∀ (i : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (B i) u) (mu i 0) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.rightUnitor (B i)).hom (δ i)) :

                        Right unit law of the colimit multiplication, from the stagewise right unit law.

                        theorem RS.chainColimit_mul_assoc {E : Type u} [CategoryTheory.Category.{v, u} E] (B : ℕ → E) (δ : (n : ℕ) → B n ⟶ B (n + 1)) [CategoryTheory.Limits.HasColimitsOfShape SmallNat E] [CategoryTheory.MonoidalCategory E] (mu : (i j : ℕ) → CategoryTheory.MonoidalCategoryStruct.tensorObj (B i) (B j) ⟶ B (i + 1 + j)) (hδl : ∀ (i j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (δ i) (B j)) (mu (i + 1) j) = CategoryTheory.CategoryStruct.comp (mu i j) (CategoryTheory.CategoryStruct.comp (δ (i + 1 + j)) (chainCast B ⋯))) (hδr : ∀ (i j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (B i) (δ j)) (mu i (j + 1)) = CategoryTheory.CategoryStruct.comp (mu i j) (δ (i + 1 + j))) [∀ (X : E), CategoryTheory.Limits.PreservesColimitsOfShape SmallNat (CategoryTheory.MonoidalCategory.tensorRight X)] [∀ (X : E), CategoryTheory.Limits.PreservesColimitsOfShape SmallNat (CategoryTheory.MonoidalCategory.tensorLeft X)] (hassoc : ∀ (i j k : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (mu i j) (B k)) (mu (i + 1 + j) k) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.associator (B i) (B j) (B k)).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (B i) (mu j k)) (CategoryTheory.CategoryStruct.comp (mu i (j + 1 + k)) (chainCast B ⋯)))) :

                        Associativity of the colimit multiplication, from stagewise associativity.

                        @[reducible]
                        noncomputable def RS.chainColimitMonObj {E : Type u} [CategoryTheory.Category.{v, u} E] (B : ℕ → E) (δ : (n : ℕ) → B n ⟶ B (n + 1)) [CategoryTheory.Limits.HasColimitsOfShape SmallNat E] [CategoryTheory.MonoidalCategory E] (mu : (i j : ℕ) → CategoryTheory.MonoidalCategoryStruct.tensorObj (B i) (B j) ⟶ B (i + 1 + j)) (hδl : ∀ (i j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (δ i) (B j)) (mu (i + 1) j) = CategoryTheory.CategoryStruct.comp (mu i j) (CategoryTheory.CategoryStruct.comp (δ (i + 1 + j)) (chainCast B ⋯))) (hδr : ∀ (i j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (B i) (δ j)) (mu i (j + 1)) = CategoryTheory.CategoryStruct.comp (mu i j) (δ (i + 1 + j))) [∀ (X : E), CategoryTheory.Limits.PreservesColimitsOfShape SmallNat (CategoryTheory.MonoidalCategory.tensorRight X)] [∀ (X : E), CategoryTheory.Limits.PreservesColimitsOfShape SmallNat (CategoryTheory.MonoidalCategory.tensorLeft X)] (u : CategoryTheory.MonoidalCategoryStruct.tensorUnit E ⟶ B 0) (hul : ∀ (j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight u (B j)) (mu 0 j) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.leftUnitor (B j)).hom (chainMap B δ ⋯)) (hur : ∀ (i : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (B i) u) (mu i 0) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.rightUnitor (B i)).hom (δ i)) (hassoc : ∀ (i j k : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (mu i j) (B k)) (mu (i + 1 + j) k) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.associator (B i) (B j) (B k)).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (B i) (mu j k)) (CategoryTheory.CategoryStruct.comp (mu i (j + 1 + k)) (chainCast B ⋯)))) :

                        The chain colimit as a monoid object: the unit is the included bottom-stage unit and the multiplication is assembled from the stagewise multiplications.

                        Equations
                        Instances For

                          Commutativity #

                          Stagewise commutativity, pushed into the colimit: the index transport is absorbed by the stage inclusion.

                          theorem RS.chainColimit_isCommMonObj {E : Type u} [CategoryTheory.Category.{v, u} E] (B : ℕ → E) (δ : (n : ℕ) → B n ⟶ B (n + 1)) [CategoryTheory.Limits.HasColimitsOfShape SmallNat E] [CategoryTheory.MonoidalCategory E] (mu : (i j : ℕ) → CategoryTheory.MonoidalCategoryStruct.tensorObj (B i) (B j) ⟶ B (i + 1 + j)) (hδl : ∀ (i j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (δ i) (B j)) (mu (i + 1) j) = CategoryTheory.CategoryStruct.comp (mu i j) (CategoryTheory.CategoryStruct.comp (δ (i + 1 + j)) (chainCast B ⋯))) (hδr : ∀ (i j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (B i) (δ j)) (mu i (j + 1)) = CategoryTheory.CategoryStruct.comp (mu i j) (δ (i + 1 + j))) [∀ (X : E), CategoryTheory.Limits.PreservesColimitsOfShape SmallNat (CategoryTheory.MonoidalCategory.tensorRight X)] [∀ (X : E), CategoryTheory.Limits.PreservesColimitsOfShape SmallNat (CategoryTheory.MonoidalCategory.tensorLeft X)] (u : CategoryTheory.MonoidalCategoryStruct.tensorUnit E ⟶ B 0) [CategoryTheory.BraidedCategory E] (hul : ∀ (j : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight u (B j)) (mu 0 j) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.leftUnitor (B j)).hom (chainMap B δ ⋯)) (hur : ∀ (i : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (B i) u) (mu i 0) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.rightUnitor (B i)).hom (δ i)) (hassoc : ∀ (i j k : ℕ), CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerRight (mu i j) (B k)) (mu (i + 1 + j) k) = CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.associator (B i) (B j) (B k)).hom (CategoryTheory.CategoryStruct.comp (CategoryTheory.MonoidalCategoryStruct.whiskerLeft (B i) (mu j k)) (CategoryTheory.CategoryStruct.comp (mu i (j + 1 + k)) (chainCast B ⋯)))) (hcomm : ∀ (i j : ℕ), CategoryTheory.CategoryStruct.comp (β_ (B i) (B j)).hom (CategoryTheory.CategoryStruct.comp (mu j i) (chainCast B ⋯)) = mu i j) :

                          The chain colimit as a commutative monoid object: stagewise commutativity makes the packaged monoid structure commutative.

                          The ind-category instantiation #

                          Over the ind-category of a small monoidal category the generic development applies verbatim: the shape has colimits, tensoring preserves them (IndTensorExact), and the generic chain diagram is the chain functor of ChainUnit, so the nonvanishing criterion for the colimit unit transfers to the packaged unit.

                          Nonvanishing of the colimit unit: over the ind-category, the colimit unit built from a compatible family of stage units vanishes exactly when the family dies at a finite stage.