Documentation

Mathlib.RingTheory.QuotSMulTop

Reducing a module modulo an element of the ring #

Given a commutative ring R and an element r : R, the association M โ†ฆ M โงธ rM extends to a functor on the category of R-modules. This functor is isomorphic to the functor of tensoring by R โงธ (r) on either side, but can be more convenient to work with since we can work with quotient types instead of fiddling with simple tensors.

Tags #

module, commutative algebra

@[reducible, inline]
abbrev QuotSMulTop {R : Type u_2} [CommRing R] (r : R) (M : Type u_1) [AddCommGroup M] [Module R M] :
Type u_1

An abbreviation for MโงธrM that keeps us from having to write (โŠค : Submodule R M) over and over to satisfy the typechecker.

Instances For
    def QuotSMulTop.congr {R : Type u_2} [CommRing R] (r : R) {M' : Type u_3} {M'' : Type u_4} [AddCommGroup M'] [Module R M'] [AddCommGroup M''] [Module R M''] (e : M' โ‰ƒโ‚—[R] M'') :

    If M' is isomorphic to M'' as R-modules, then M'โงธrM' is isomorphic to M''โงธrM''.

    Instances For
      noncomputable def QuotSMulTop.equivQuotTensor {R : Type u_2} [CommRing R] (r : R) (M : Type u_1) [AddCommGroup M] [Module R M] :

      Reducing a module modulo r is the same as left tensoring with R/(r).

      Instances For
        noncomputable def QuotSMulTop.equivTensorQuot {R : Type u_2} [CommRing R] (r : R) (M : Type u_1) [AddCommGroup M] [Module R M] :

        Reducing a module modulo r is the same as right tensoring with R/(r).

        Instances For
          def QuotSMulTop.map {R : Type u_2} [CommRing R] (r : R) {M : Type u_1} {M' : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup M'] [Module R M'] :

          The action of the functor QuotSMulTop r on morphisms.

          Instances For
            @[simp]
            theorem QuotSMulTop.map_apply_mk {R : Type u_2} [CommRing R] (r : R) {M : Type u_1} {M' : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup M'] [Module R M'] (f : M โ†’โ‚—[R] M') (x : M) :
            theorem QuotSMulTop.map_comp_mkQ {R : Type u_2} [CommRing R] (r : R) {M : Type u_1} {M' : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup M'] [Module R M'] (f : M โ†’โ‚—[R] M') :
            (map r) f โˆ˜โ‚— (r โ€ข โŠค).mkQ = (r โ€ข โŠค).mkQ โˆ˜โ‚— f
            @[simp]
            theorem QuotSMulTop.map_id {R : Type u_2} [CommRing R] (r : R) (M : Type u_1) [AddCommGroup M] [Module R M] :
            @[simp]
            theorem QuotSMulTop.map_comp {R : Type u_2} [CommRing R] (r : R) {M : Type u_1} {M' : Type u_3} {M'' : Type u_4} [AddCommGroup M] [Module R M] [AddCommGroup M'] [Module R M'] [AddCommGroup M''] [Module R M''] (g : M' โ†’โ‚—[R] M'') (f : M โ†’โ‚—[R] M') :
            (map r) (g โˆ˜โ‚— f) = (map r) g โˆ˜โ‚— (map r) f
            theorem QuotSMulTop.map_surjective {R : Type u_2} [CommRing R] (r : R) {M : Type u_1} {M' : Type u_3} [AddCommGroup M] [Module R M] [AddCommGroup M'] [Module R M'] {f : M โ†’โ‚—[R] M'} (hf : Function.Surjective โ‡‘f) :
            Function.Surjective โ‡‘((map r) f)
            theorem QuotSMulTop.map_exact {R : Type u_2} [CommRing R] (r : R) {M : Type u_1} {M' : Type u_3} {M'' : Type u_4} [AddCommGroup M] [Module R M] [AddCommGroup M'] [Module R M'] [AddCommGroup M''] [Module R M''] {f : M โ†’โ‚—[R] M'} {g : M' โ†’โ‚—[R] M''} (hfg : Function.Exact โ‡‘f โ‡‘g) (hg : Function.Surjective โ‡‘g) :
            Function.Exact โ‡‘((map r) f) โ‡‘((map r) g)
            noncomputable def QuotSMulTop.tensorQuotSMulTopEquivQuotSMulTop {R : Type u_2} [CommRing R] (r : R) (M : Type u_1) (M' : Type u_3) [AddCommGroup M] [Module R M] [AddCommGroup M'] [Module R M'] :

            Tensoring on the left and applying QuotSMulTop ยท r commute.

            Instances For
              noncomputable def QuotSMulTop.quotSMulTopTensorEquivQuotSMulTop {R : Type u_2} [CommRing R] (r : R) (M : Type u_1) (M' : Type u_3) [AddCommGroup M] [Module R M] [AddCommGroup M'] [Module R M'] :

              Tensoring on the right and applying QuotSMulTop ยท r commute.

              Instances For
                noncomputable def QuotSMulTop.algebraMapTensorEquivTensorQuotSMulTop {R : Type u_3} [CommRing R] (r : R) (M : Type u_1) [AddCommGroup M] [Module R M] (S : Type u_2) [CommRing S] [Algebra R S] :

                Let R be a commutative ring, M be an R-module, S be an R-algebra, then S โŠ—[R] (M/rM) is isomorphic to (S โŠ—[R] M)โงธr(S โŠ—[R] M) as S-modules.

                Instances For
                  theorem QuotSMulTop.mem_annihilator {R : Type u_2} [CommRing R] (M : Type u_1) [AddCommGroup M] [Module R M] (x : R) :