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.

noncomputable def ModuleCat.free (R : Type u) [Ring R] :

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
  • One or more equations did not get rendered due to their size.
Instances For

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

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      noncomputable def ModuleCat.freeMk {R : Type u} [Ring R] {X : Type u} (x : X) :
      ((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 g : (free R).obj X M} (h : ∀ (x : X), (CategoryTheory.ConcreteCategory.hom f) (freeMk x) = (CategoryTheory.ConcreteCategory.hom g) (freeMk x)) :
        f = g
        theorem ModuleCat.free_hom_ext_iff {R : Type u} [Ring R] {X : Type u} {M : ModuleCat R} {f g : (free R).obj X M} :
        noncomputable def ModuleCat.freeDesc {R : Type u} [Ring R] {X : Type u} {M : ModuleCat R} (f : X M) :
        (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]
          noncomputable def ModuleCat.freeHomEquiv {R : Type u} [Ring R] {X : Type u} {M : ModuleCat R} :
          ((free R).obj X M) (X M)

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

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem ModuleCat.freeHomEquiv_apply {R : Type u} [Ring R] {X : Type u} {M : ModuleCat R} (φ : (free R).obj X M) :
            noncomputable def ModuleCat.adj (R : Type u) [Ring R] :

            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) :

              The canonical isomorphism 𝟙_ (ModuleCat R) ≅ (free R).obj (𝟙_ (Type u)). (This should not be used directly: it is part of the implementation of the monoidal structure on the functor free R.)

              Equations
              Instances For

                The canonical isomorphism (free R).obj X ⊗ (free R).obj Y ≅ (free R).obj (X ⊗ Y) for two types X and Y. (This should not be used directly: it is part of the implementation of the monoidal structure on the functor free R.)

                Equations
                Instances For
                  @[implicit_reducible]
                  noncomputable instance ModuleCat.instMonoidalFree (R : Type u) [CommRing R] :

                  The free functor Type u ⥤ ModuleCat R is a monoidal functor.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  def CategoryTheory.Free :
                  Type u_1 → (C : 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) :
                    Free R 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
                      @[implicit_reducible]
                      noncomputable instance CategoryTheory.categoryFree (R : Type u_1) [CommRing R] (C : Type u) [Category.{v, u} C] :
                      Equations
                      • One or more equations did not get rendered due to their size.
                      @[implicit_reducible]
                      noncomputable instance CategoryTheory.Free.instPreadditive (R : Type u_1) [CommRing R] (C : Type u) [Category.{v, u} C] :
                      Equations
                      @[implicit_reducible]
                      noncomputable instance CategoryTheory.Free.instLinear (R : Type u_1) [CommRing R] (C : Type u) [Category.{v, u} C] :
                      Linear R (Free R C)
                      Equations
                      theorem CategoryTheory.Free.single_comp_single (R : Type u_1) [CommRing R] (C : Type u) [Category.{v, u} C] {X Y Z : C} (f : X Y) (g : Y Z) (r s : R) :
                      noncomputable def CategoryTheory.Free.embedding (R : Type u_1) [CommRing R] (C : Type u) [Category.{v, u} C] :
                      Functor C (Free R C)

                      A category embeds into its R-linear completion.

                      Equations
                      Instances For
                        @[simp]
                        theorem CategoryTheory.Free.embedding_obj (R : Type u_1) [CommRing R] (C : Type u) [Category.{v, u} C] (X : C) :
                        (embedding R C).obj X = X
                        @[simp]
                        theorem CategoryTheory.Free.embedding_map (R : Type u_1) [CommRing R] (C : Type u) [Category.{v, u} C] {x✝ x✝¹ : C} (f : x✝ x✝¹) :
                        def CategoryTheory.Free.lift (R : Type u_1) [CommRing R] {C : Type u} [Category.{v, u} C] {D : Type u} [Category.{v, u} D] [Preadditive D] [Linear R D] (F : Functor C D) :
                        Functor (Free R C) D

                        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} [Category.{v, u} C] {D : Type u} [Category.{v, u} D] [Preadditive D] [Linear R D] (F : Functor C D) {x✝ x✝¹ : Free R C} (f : x✝ x✝¹) :
                          (lift R F).map f = Finsupp.sum f fun (f' : x✝ x✝¹) (r : R) => r F.map f'
                          @[simp]
                          theorem CategoryTheory.Free.lift_obj (R : Type u_1) [CommRing R] {C : Type u} [Category.{v, u} C] {D : Type u} [Category.{v, u} D] [Preadditive D] [Linear R D] (F : Functor C D) (X : Free R C) :
                          (lift R F).obj X = F.obj X
                          theorem CategoryTheory.Free.lift_map_single (R : Type u_1) [CommRing R] {C : Type u} [Category.{v, u} C] {D : Type u} [Category.{v, u} D] [Preadditive D] [Linear R D] (F : Functor C D) {X Y : C} (f : X Y) (r : R) :
                          (lift R F).map (Finsupp.single f r) = r F.map f
                          instance CategoryTheory.Free.lift_additive (R : Type u_1) [CommRing R] {C : Type u} [Category.{v, u} C] {D : Type u} [Category.{v, u} D] [Preadditive D] [Linear R D] (F : Functor C D) :
                          instance CategoryTheory.Free.lift_linear (R : Type u_1) [CommRing R] {C : Type u} [Category.{v, u} C] {D : Type u} [Category.{v, u} D] [Preadditive D] [Linear R D] (F : Functor C D) :
                          noncomputable def CategoryTheory.Free.embeddingLiftIso (R : Type u_1) [CommRing R] {C : Type u} [Category.{v, u} C] {D : Type u} [Category.{v, u} D] [Preadditive D] [Linear R D] (F : Functor C D) :
                          (embedding R C).comp (lift R F) 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
                            noncomputable def CategoryTheory.Free.ext (R : Type u_1) [CommRing R] {C : Type u} [Category.{v, u} C] {D : Type u} [Category.{v, u} D] [Preadditive D] [Linear R D] {F G : Functor (Free R C) D} [F.Additive] [Functor.Linear R F] [G.Additive] [Functor.Linear R G] (α : (embedding R C).comp F (embedding R C).comp G) :
                            F G

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

                            Equations
                            Instances For
                              noncomputable def CategoryTheory.Free.liftUnique (R : Type u_1) [CommRing R] {C : Type u} [Category.{v, u} C] {D : Type u} [Category.{v, u} D] [Preadditive D] [Linear R D] (F : Functor C D) (L : Functor (Free R C) D) [L.Additive] [Functor.Linear R L] (α : (embedding R C).comp L F) :
                              L lift R F

                              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