Documentation

Mathlib.Algebra.Category.ModuleCat.Adjunctions

The functor of forming finitely supported functions on a type with values in a [Ring R] is the left adjoint of the forgetful functor from R-modules to types.

The free functor Type u ⥤ ModuleCat R sending a type X to the free R-module with generators x : X, implemented as the type X →₀ R.

Equations
Instances For
    noncomputable def ModuleCat.freeMk {R : Type u} [Ring R] {X : Type u} (x : X) :
    ((ModuleCat.free R).obj X)

    Constructor for elements in the module (free R).obj X.

    Equations
    Instances For
      theorem ModuleCat.free_hom_ext {R : Type u} [Ring R] {X : Type u} {M : ModuleCat R} {f : (ModuleCat.free R).obj X M} {g : (ModuleCat.free R).obj X M} (h : ∀ (x : X), f (ModuleCat.freeMk x) = g (ModuleCat.freeMk x)) :
      f = g
      noncomputable def ModuleCat.freeDesc {R : Type u} [Ring R] {X : Type u} {M : ModuleCat R} (f : X M) :
      (ModuleCat.free R).obj X M

      The morphism of modules (free R).obj X ⟶ M corresponding to a map f : X ⟶ M.

      Equations
      Instances For
        @[simp]
        theorem ModuleCat.freeDesc_apply {R : Type u} [Ring R] {X : Type u} {M : ModuleCat R} (f : X M) (x : X) :
        @[simp]
        theorem ModuleCat.free_map_apply {R : Type u} [Ring R] {X : Type u} {Y : Type u} (f : XY) (x : X) :
        def ModuleCat.freeHomEquiv {R : Type u} [Ring R] {X : Type u} {M : ModuleCat R} :
        ((ModuleCat.free R).obj X M) (XM)

        The bijection ((free R).obj X ⟶ M) ≃ (X → M) when X is a type and M a module.

        Equations
        Instances For
          @[simp]
          theorem ModuleCat.freeHomEquiv_symm_apply {R : Type u} [Ring R] {X : Type u} {M : ModuleCat R} (ψ : XM) :
          ModuleCat.freeHomEquiv.symm ψ = ModuleCat.freeDesc ψ
          @[simp]
          theorem ModuleCat.freeHomEquiv_apply {R : Type u} [Ring R] {X : Type u} {M : ModuleCat R} (φ : (ModuleCat.free R).obj X M) (x : X) :
          ModuleCat.freeHomEquiv φ x = φ (ModuleCat.freeMk x)

          The free-forgetful adjunction for R-modules.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem ModuleCat.adj_homEquiv (R : Type u) [Ring R] (X : Type u) (M : ModuleCat R) :
            (ModuleCat.adj R).homEquiv X M = ModuleCat.freeHomEquiv
            Equations
            • =
            def ModuleCat.Free.ε (R : Type u) [CommRing R] :
            𝟙_ (ModuleCat R) (ModuleCat.free R).obj (𝟙_ (Type u))

            (Implementation detail) The unitor for Free R.

            Equations
            Instances For

              (Implementation detail) The tensorator for Free R.

              Equations
              Instances For

                The free R-module functor is lax monoidal.

                Equations
                @[simp]
                theorem ModuleCat.Free.instLaxMonoidalObjFree_ε (R : Type u) [CommRing R] :
                CategoryTheory.LaxMonoidal.ε = ModuleCat.Free.ε R
                instance ModuleCat.Free.instIsIsoε (R : Type u) [CommRing R] :
                CategoryTheory.IsIso CategoryTheory.LaxMonoidal.ε
                Equations
                • =

                The free functor Type u ⥤ ModuleCat R, as a monoidal functor.

                Equations
                Instances For
                  def CategoryTheory.Free :
                  Type u_1 → Type u → Type u

                  Free R C is a type synonym for C, which, given [CommRing R] and [Category C], we will equip with a category structure where the morphisms are formal R-linear combinations of the morphisms in C.

                  Equations
                  Instances For
                    def CategoryTheory.Free.of (R : Type u_1) {C : Type u} (X : C) :

                    Consider an object of C as an object of the R-linear completion.

                    It may be preferable to use (Free.embedding R C).obj X instead; this functor can also be used to lift morphisms.

                    Equations
                    Instances For
                      Equations
                      Equations

                      A category embeds into its R-linear completion.

                      Equations
                      Instances For
                        @[simp]
                        theorem CategoryTheory.Free.embedding_map (R : Type u_1) [CommRing R] (C : Type u) [CategoryTheory.Category.{v, u} C] :
                        ∀ {x x_1 : C} (f : x x_1), (CategoryTheory.Free.embedding R C).map f = Finsupp.single f 1

                        A functor to an R-linear category lifts to a functor from its R-linear completion.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          @[simp]
                          theorem CategoryTheory.Free.lift_map (R : Type u_1) [CommRing R] {C : Type u} [CategoryTheory.Category.{v, u} C] {D : Type u} [CategoryTheory.Category.{v, u} D] [CategoryTheory.Preadditive D] [CategoryTheory.Linear R D] (F : CategoryTheory.Functor C D) :
                          ∀ {x x_1 : CategoryTheory.Free R C} (f : x x_1), (CategoryTheory.Free.lift R F).map f = Finsupp.sum f fun (f' : x x_1) (r : R) => r F.map f'

                          The embedding into the R-linear completion, followed by the lift, is isomorphic to the original functor.

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

                            Two R-linear functors out of the R-linear completion are isomorphic iff their compositions with the embedding functor are isomorphic.

                            Equations
                            Instances For

                              Free.lift is unique amongst R-linear functors Free R C ⥤ D which compose with embedding ℤ C to give the original functor.

                              Equations
                              Instances For