Documentation

Mathlib.Algebra.Category.ModuleCat.Presheaf

Presheaves of modules over a presheaf of rings. #

We give a hands-on description of a presheaf of modules over a fixed presheaf of rings R, as a presheaf of abelian groups with additional data.

We also provide two alternative constructors :

Future work #

structure PresheafOfModules {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) :
Type (max (max (max u u₁) (v + 1)) v₁)

A presheaf of modules over a given presheaf of rings, described as a presheaf of abelian groups, and the extra data of the action at each object, and a condition relating functoriality and scalar multiplication.

Instances For

    The bundled module over an object X.

    Equations
    Instances For

      If P is a presheaf of modules over a presheaf of rings R, both over some category C, and f : X ⟶ Y is a morphism in Cᵒᵖ, we construct the R.map f-semilinear map from the R.obj X-module P.presheaf.obj X to the R.obj Y-module P.presheaf.obj Y.

      Equations
      Instances For
        @[simp]
        theorem PresheafOfModules.map_apply {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} (P : PresheafOfModules R) {X : Cᵒᵖ} {Y : Cᵒᵖ} (f : X Y) (x : (PresheafOfModules.obj P X)) :
        (PresheafOfModules.map P f) x = (P.presheaf.map f) x

        A morphism of presheaves of modules.

        • hom : P.presheaf Q.presheaf
        • map_smul : ∀ (X : Cᵒᵖ) (r : (R.obj X)) (x : (P.presheaf.obj X)), (self.hom.app X) (r x) = r (self.hom.app X) x
        Instances For

          The identity morphism on a presheaf of modules.

          Equations
          Instances For

            Composition of morphisms of presheaves of modules.

            Equations
            Instances For

              The (X : Cᵒᵖ)-component of morphism between presheaves of modules over a presheaf of rings R, as an R.obj X-linear map.

              Equations
              Instances For
                Equations
                • PresheafOfModules.Hom.instZeroHomPresheafOfModulesToQuiverToCategoryStructInstCategoryPresheafOfModules = { zero := { hom := 0, map_smul := } }
                Equations
                • PresheafOfModules.Hom.instAddHomPresheafOfModulesToQuiverToCategoryStructInstCategoryPresheafOfModules = { add := fun (f g : P Q) => { hom := f.hom + g.hom, map_smul := } }
                Equations
                • PresheafOfModules.Hom.instSubHomPresheafOfModulesToQuiverToCategoryStructInstCategoryPresheafOfModules = { sub := fun (f g : P Q) => { hom := f.hom - g.hom, map_smul := } }
                Equations
                • PresheafOfModules.Hom.instNegHomPresheafOfModulesToQuiverToCategoryStructInstCategoryPresheafOfModules = { neg := fun (f : P Q) => { hom := -f.hom, map_smul := } }
                Equations
                • PresheafOfModules.Hom.instAddCommGroupHomPresheafOfModulesToQuiverToCategoryStructInstCategoryPresheafOfModules = AddCommGroup.mk
                Equations
                • PresheafOfModules.Hom.instPreadditivePresheafOfModulesInstCategoryPresheafOfModules = { homGroup := inferInstance, add_comp := , comp_add := }
                theorem PresheafOfModules.naturality_apply {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {P : PresheafOfModules R} {Q : PresheafOfModules R} (f : P Q) {X : Cᵒᵖ} {Y : Cᵒᵖ} (g : X Y) (x : (PresheafOfModules.obj P X)) :
                (PresheafOfModules.Hom.app f Y) ((P.presheaf.map g) x) = (Q.presheaf.map g) ((PresheafOfModules.Hom.app f X) x)

                The functor from presheaves of modules over a specified presheaf of rings, to presheaves of abelian groups.

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

                  Evaluation on an object X gives a functor PresheafOfModules R ⥤ ModuleCat (R.obj X).

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

                    Given a presheaf of modules M on a category C and f : X ⟶ Y in Cᵒᵖ, this is the restriction map M.obj X ⟶ M.obj Y, considered as a linear map to the restriction of scalars of M.obj Y.

                    Equations
                    Instances For

                      The restriction natural transformation on presheaves of modules, considered as linear maps to restriction of scalars.

                      Equations
                      Instances For
                        def PresheafOfModules.Hom.mk' {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {P : PresheafOfModules R} {Q : PresheafOfModules R} (app : (X : Cᵒᵖ) → (PresheafOfModules.obj P X) →ₗ[(R.obj X)] (PresheafOfModules.obj Q X)) (naturality : ∀ ⦃X Y : Cᵒᵖ⦄ (f : X Y) (x : (PresheafOfModules.obj P X)), (app Y) ((PresheafOfModules.map P f) x) = (PresheafOfModules.map Q f) ((app X) x)) :
                        P Q

                        A constructor for morphisms in PresheafOfModules R that is based on the data of a family of linear maps over the various rings R.obj X.

                        Equations
                        Instances For
                          @[simp]
                          theorem PresheafOfModules.Hom.mk'_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {R : CategoryTheory.Functor Cᵒᵖ RingCat} {P : PresheafOfModules R} {Q : PresheafOfModules R} (app : (X : Cᵒᵖ) → (PresheafOfModules.obj P X) →ₗ[(R.obj X)] (PresheafOfModules.obj Q X)) (naturality : ∀ ⦃X Y : Cᵒᵖ⦄ (f : X Y) (x : (PresheafOfModules.obj P X)), (app Y) ((PresheafOfModules.map P f) x) = (PresheafOfModules.map Q f) ((app X) x)) :
                          @[inline, reducible]

                          A constructor for morphisms in PresheafOfModules R that is based on the data of a family of linear maps over the various rings R.obj X, and for which the naturality condition is stated using the restriction of scalars.

                          Equations
                          Instances For
                            structure CorePresheafOfModules {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) :
                            Type (max (max (max u u₁) (v + 1)) v₁)

                            This structure contains the data and axioms in order to produce a PresheafOfModules R from a collection of types equipped with module structures over the various rings R.obj X. (See the constructor PresheafOfModules.mk'.)

                            Instances For

                              The presheaf of abelian groups attached to a CorePresheafOfModules R.

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

                                Constructor for PresheafOfModules R based on a collection of types equipped with module structures over the various rings R.obj X, see the structure CorePresheafOfModules.

                                Equations
                                Instances For
                                  structure BundledCorePresheafOfModules {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (R : CategoryTheory.Functor Cᵒᵖ RingCat) :
                                  Type (max (max (max u u₁) (v + 1)) v₁)

                                  This structure contains the data and axioms in order to produce a PresheafOfModules R from a collection of objects of type ModuleCat (R.obj X) for all X, and restriction maps expressed as linear maps to restriction of scalars. (See the constructor PresheafOfModules.mk''.)

                                  Instances For

                                    The obvious map BundledCorePresheafOfModules R → CorePresheafOfModules R.

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

                                      Constructor for PresheafOfModules R based on a collection of objects of type ModuleCat (R.obj X) for all X, and restriction maps expressed as linear maps to restriction of scalars, see the structure BundledCorePresheafOfModules.

                                      Equations
                                      Instances For