Documentation

LeanPool.RegtsSevenster.RS.Classical.Deligne.ModAbelian

Modules over a monoid object form an abelian category #

Mathlib's CategoryTheory.Mod D A carries no additive structure. This file supplies it, for A a monoid object in a monoidally preadditive category D, and upgrades it to an abelian structure when D is abelian and tensoring on the left is right exact.

Everything is computed in D and transported along the forgetful functor:

The second half of the file is independent of module theory: in any abelian category, a subobject of a finite direct sum of simple objects is the direct sum of a sublist of them, and dually for quotients. The engine is RS.idxSum, the direct sum of a list of indices into a family of objects, and the two theorems RS.exists_sublist_iso_of_mono/RS.exists_sublist_iso_of_epi are proved by induction on the list from the two splitting lemmas RS.isoBiprodOfRetraction/RS.isoBiprodOfSection: at each step the intersection with the leading summand is a subobject of a simple object, hence zero or the whole of it, and in either case the inclusion of the kernel is split. The specialisations to a Fin n-indexed biproduct (RS.exists_sublist_iso_biproduct_of_mono and its epimorphism companion) and to a sum of copies of two simple objects (RS.exists_mixSum_iso_of_mono and its companion) follow.

The additive structure on module maps #

@[instance_reducible]

The hom-groups of the category of modules.

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

Modules over a monoid object are preadditive, with hom-groups the intertwining subgroups of the ambient hom-groups.

Equations

A module map whose underlying morphism is a monomorphism is a monomorphism.

A module map whose underlying morphism is an epimorphism is an epimorphism.

The zero module #

@[implicit_reducible]

The zero object of D is a module, with the zero action.

Equations
Instances For

    Binary biproducts #

    The binary bicone carried by the biproduct of two modules.

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

      Finite biproducts #

      The componentwise action on a finite biproduct of carriers.

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

        The module structure on a finite biproduct of carriers.

        Equations
        Instances For

          The finite biproduct of modules, bundled.

          Equations
          Instances For

            The projections of the biproduct are module maps.

            Equations
            Instances For

              The injections of the biproduct are module maps.

              Equations
              Instances For

                The bicone carried by the finite biproduct of modules.

                Equations
                Instances For

                  Taking the underlying morphism of a module map is additive.

                  Equations
                  Instances For

                    Finite products #

                    Kernels #

                    The action on the kernel of the underlying morphism.

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

                      The module structure on the kernel of the underlying morphism.

                      Equations
                      Instances For

                        The lift of a module map annihilated by f through the inclusion of the kernel.

                        Equations
                        Instances For

                          The kernel fork of a module map is limiting.

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

                            Cokernels #

                            The monomorphism and epimorphism bridges #

                            A module map is a monomorphism exactly when its underlying morphism is.

                            Whiskering preserves epimorphisms: an epimorphism of an abelian category is the cokernel of its kernel, and tensoring on the left preserves that cokernel.

                            Normality and abelianness #

                            The underlying factorisation through a monomorphic module map.

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

                              The factorisation through a monomorphism of a module map annihilated by the projection onto its cokernel.

                              Equations
                              Instances For
                                @[implicit_reducible]

                                A module map with monomorphic underlying morphism is the kernel of its cokernel.

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

                                  A module map annihilating the inclusion of the kernel is annihilated by the underlying kernel inclusion.

                                  The underlying factorisation through an epimorphic module map.

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

                                    The factorisation through an epimorphism of a module map annihilating the inclusion of its kernel.

                                    Equations
                                    Instances For
                                      @[implicit_reducible]

                                      A module map with epimorphic underlying morphism is the cokernel of its kernel.

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

                                        Modules over a monoid object in an abelian monoidally preadditive category with right-exact tensor form an abelian category.

                                        Equations

                                        Splitting off a retraction or a section #

                                        The bicone exhibiting the ambient object as the biproduct of a split monomorphism and its cokernel.

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

                                          A retraction splits off the cokernel: if k : K ⟶ N has a retraction then N is the biproduct of K and the cokernel of k.

                                          Equations
                                          Instances For

                                            The bicone exhibiting the ambient object as the biproduct of the kernel of a split epimorphism and its target.

                                            Equations
                                            Instances For

                                              A section splits off the kernel: if c : N ⟶ C has a section then N is the biproduct of the kernel of c and C.

                                              Equations
                                              Instances For

                                                Subobjects and quotients of a finite sum of simples #

                                                The inductive step for subobjects: a subobject of X ⊞ T with X simple is either a subobject of T, or the sum of X with one.

                                                The inductive step for quotients: a quotient of X ⊞ T with X simple is either a quotient of T, or the sum of X with one.

                                                noncomputable def RS.idxSum {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] {J : Type w} (S : J → E) :
                                                List J → E

                                                The direct sum of a list of indices, formed by iterated binary biproducts from a family of objects.

                                                Equations
                                                Instances For
                                                  @[simp]
                                                  theorem RS.idxSum_nil {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] {J : Type w} (S : J → E) :
                                                  idxSum S [] = 0
                                                  @[simp]
                                                  theorem RS.idxSum_cons {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] {J : Type w} (S : J → E) (i : J) (L : List J) :
                                                  idxSum S (i :: L) = (S i ⊞ idxSum S L)
                                                  theorem RS.exists_sublist_iso_of_mono {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] {J : Type w} (S : J → E) (L : List J) :
                                                  (∀ j ∈ L, CategoryTheory.Simple (S j)) → ∀ {N : E} (f : N ⟶ idxSum S L), CategoryTheory.Mono f → ∃ (L' : List J), L'.Sublist L ∧ Nonempty (N ≅ idxSum S L')

                                                  A subobject of a finite direct sum of simple objects is the direct sum of a sublist of them.

                                                  theorem RS.exists_sublist_iso_of_epi {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] {J : Type w} (S : J → E) (L : List J) :
                                                  (∀ j ∈ L, CategoryTheory.Simple (S j)) → ∀ {N : E} (f : idxSum S L ⟶ N), CategoryTheory.Epi f → ∃ (L' : List J), L'.Sublist L ∧ Nonempty (N ≅ idxSum S L')

                                                  A quotient of a finite direct sum of simple objects is the direct sum of a sublist of them.

                                                  Sums of copies of two simple objects #

                                                  noncomputable def RS.mixSum {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] (X Y : E) (p q : ℕ) :
                                                  E

                                                  The direct sum of p copies of X and q copies of Y.

                                                  Equations
                                                  Instances For

                                                    Every entry of a mixed replicate list is one of the two given objects.

                                                    theorem RS.exists_mixSum_iso_of_mono {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] (X Y : E) [CategoryTheory.Simple X] [CategoryTheory.Simple Y] (p q : ℕ) {N : E} (f : N ⟶ mixSum X Y p q) (hf : CategoryTheory.Mono f) :
                                                    ∃ (p' : ℕ) (q' : ℕ), p' ≤ p ∧ q' ≤ q ∧ Nonempty (N ≅ mixSum X Y p' q')

                                                    A subobject of a sum of p copies of a simple object and q copies of another is a sum of p' ≤ p copies of the first and q' ≤ q copies of the second.

                                                    theorem RS.exists_mixSum_iso_of_epi {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] (X Y : E) [CategoryTheory.Simple X] [CategoryTheory.Simple Y] (p q : ℕ) {N : E} (f : mixSum X Y p q ⟶ N) (hf : CategoryTheory.Epi f) :
                                                    ∃ (p' : ℕ) (q' : ℕ), p' ≤ p ∧ q' ≤ q ∧ Nonempty (N ≅ mixSum X Y p' q')

                                                    A quotient of a sum of p copies of a simple object and q copies of another is a sum of p' ≤ p copies of the first and q' ≤ q copies of the second.

                                                    Biproducts indexed by Fin n #

                                                    noncomputable def RS.finSuccBicone {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] {n : ℕ} (S : Fin (n + 1) → E) :
                                                    CategoryTheory.Limits.BinaryBicone (S 0) (⨁ fun (i : Fin n) => S i.succ)

                                                    The bicone splitting off the zeroth summand of a biproduct indexed by Fin (n + 1).

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      noncomputable def RS.biproductFinSuccIso {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] {n : ℕ} (S : Fin (n + 1) → E) :
                                                      ⨁ S ≅ S 0 ⊞ ⨁ fun (i : Fin n) => S i.succ

                                                      A biproduct indexed by Fin (n + 1) splits off its zeroth summand.

                                                      Equations
                                                      Instances For
                                                        theorem RS.idxSum_map {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] {J K : Type w} (S : K → E) (g : J → K) (L : List J) :
                                                        idxSum S (List.map g L) = idxSum (S ∘ g) L

                                                        Reindexing a list sum along a map of indices.

                                                        A biproduct indexed by Fin n is the sum over the list of its indices.

                                                        theorem RS.exists_sublist_iso_biproduct_of_mono {E : Type u} [CategoryTheory.Category.{v, u} E] [CategoryTheory.Abelian E] {n : ℕ} (S : Fin n → E) (hS : ∀ (i : Fin n), CategoryTheory.Simple (S i)) {N : E} (f : N ⟶ ⨁ S) (hf : CategoryTheory.Mono f) :
                                                        ∃ (L : List (Fin n)), L.Sublist (List.finRange n) ∧ Nonempty (N ≅ idxSum S L)

                                                        A subobject of a finite biproduct of simple objects is the sum over a sublist of the indices.