Documentation

TauCeti.RingTheory.Morita.Corner

Morita equivalence with the corner ring of a full idempotent #

Let e be an idempotent of a ring A, and let eAe be its corner ring (IsIdempotentElem.Corner), the ring of elements e * a * e, with unit e. Every A-module M has a piece eM = e • M (written e • (⊤ : Submodule ℤ M), as in TauCeti.RingTheory.Idempotents.Module), which is a module over eAe. This defines the corner functor

IsIdempotentElem.cornerFunctor : ModuleCat A ⥤ ModuleCat eAe, M ↦ eM.

In the other direction, eA is a left eAe-module and a right A-module, so for an eAe-module N the homomorphisms Hom_{eAe}(eA, N) form an A-module, A acting by right multiplication on eA. This is the coinduction functor IsIdempotentElem.cornerCoindFunctor : ModuleCat eAe ⥤ ModuleCat A.

The composite N ↦ e Hom_{eAe}(eA, N) is always isomorphic to the identity, by evaluation at e (IsIdempotentElem.smulTopCoindEquiv). The other composite M ↦ Hom_{eAe}(eA, eM) receives the action map m ↦ (x ↦ x • m) (IsIdempotentElem.smulTopActionHom), and this map is bijective as soon as e is full, that is, generates A as a two-sided ideal, AeA = A: writing 1 = ∑ aᵢ e bᵢ, an element killed by eA is killed by 1, and a homomorphism f : eA → eM is the action of ∑ aᵢ • f(e bᵢ). So for a full idempotent the two functors are mutually inverse equivalences (IsIdempotentElem.cornerEquivalence), and the corner functor is linear over any commutative semiring R over which A is an algebra. This is the Morita equivalence between A and eAe, in Mathlib's sense (IsIdempotentElem.moritaEquivalenceCorner).

Fullness is the hypothesis that makes the corner ring see every module. It is the hypothesis used to reduce a finite-dimensional algebra to a basic one: there the idempotent is the sum of one primitive idempotent for each isomorphism class of simple modules, which is full and has a basic corner ring. Such an idempotent exists in every semiperfect ring (TauCeti.IsSemiperfectRing.exists_isIdempotentElem_full_isBasic_corner), which gives the Morita reduction to a basic ring (TauCeti.IsSemiperfectRing.exists_isBasic_isMoritaEquivalent); both are in TauCeti.RingTheory.Morita.BasicAlgebra.

Main definitions #

Main results #

Implementation notes #

The inverse functor is built from homomorphisms out of eA rather than from the tensor product Ae ⊗_{eAe} N, which would need tensor products over the noncommutative ring eAe. The two functors are given @[expose] so that their objects can be read as the pieces eM and the spaces of homomorphisms Hom_{eAe}(eA, N), on which the action lemmas of this file are stated. The equivalence is built with CategoryTheory.Equivalence.mk', so that its unit and counit are exactly IsIdempotentElem.cornerUnitIso and IsIdempotentElem.cornerCounitIso, and is given @[expose] so that this identification can be stated. The types of the unit and counit depend on the equivalence's functor and inverse: without exposure, the public statements of IsIdempotentElem.cornerEquivalence_unitIso and IsIdempotentElem.cornerEquivalence_counitIso cannot identify those types with the ones of the supplied natural isomorphisms. The functor and inverse projection equalities alone do not supply this definitional equality during elaboration.

References #

The bimodule eA #

def IsIdempotentElem.smulTopGen {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) :
↥(e • ⊤)

The idempotent e, as an element of the piece eA of the regular module.

Instances For
    @[simp]
    theorem IsIdempotentElem.coe_smulTopGen {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) :
    ↑he.smulTopGen = e
    def IsIdempotentElem.smulTopMulRight {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (a : A) :
    ↥(e • ⊤) →ₗ[he.Corner] ↥(e • ⊤)

    Right multiplication by a on eA, a homomorphism of modules over the corner ring eAe. It makes eA a right A-module.

    Instances For
      @[simp]
      theorem IsIdempotentElem.coe_smulTopMulRight_apply {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (a : A) (x : ↥(e • ⊤)) :
      ↑((he.smulTopMulRight a) x) = ↑x * a
      @[simp]
      @[simp]
      theorem IsIdempotentElem.smulTopMulRight_add {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (a a' : A) :
      @[simp]
      theorem IsIdempotentElem.smulTopMulRight_neg {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (a : A) :

      The element x * e of the corner ring attached to an element x of eA.

      Instances For
        @[simp]
        theorem IsIdempotentElem.val_smulTopToCorner_apply {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (x : ↥(e • ⊤)) :
        ↑(he.smulTopToCorner x) = ↑x * e

        Homomorphisms out of eA as an A-module #

        @[instance_reducible]
        instance IsIdempotentElem.instSMulSmulTopLinearMap {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) {N : Type v} [AddCommGroup N] [Module he.Corner N] :
        SMul A (↥(e • ⊤) →ₗ[he.Corner] N)

        A acts on Hom_{eAe}(eA, N) through right multiplication on eA.

        theorem IsIdempotentElem.smul_smulTop_linearMap_def {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) {N : Type v} [AddCommGroup N] [Module he.Corner N] (a : A) (f : ↥(e • ⊤) →ₗ[he.Corner] N) :
        @[simp]
        theorem IsIdempotentElem.smul_smulTop_linearMap_apply {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) {N : Type v} [AddCommGroup N] [Module he.Corner N] (a : A) (f : ↥(e • ⊤) →ₗ[he.Corner] N) (x : ↥(e • ⊤)) :
        (a • f) x = f ((he.smulTopMulRight a) x)
        @[instance_reducible]
        instance IsIdempotentElem.instModuleSmulTopLinearMap {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) {N : Type v} [AddCommGroup N] [Module he.Corner N] :
        Module A (↥(e • ⊤) →ₗ[he.Corner] N)

        Hom_{eAe}(eA, N) is an A-module, A acting by right multiplication on eA.

        The two functors #

        The corner functor M ↦ eM, from modules over A to modules over the corner ring eAe.

        Instances For

          The coinduction functor N ↦ Hom_{eAe}(eA, N), from modules over the corner ring eAe to modules over A.

          Instances For
            @[simp]
            theorem IsIdempotentElem.cornerFunctor_obj {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (M : ModuleCat A) :
            he.cornerFunctor.obj M = ↧↥(e • ⊤)
            @[simp]
            theorem IsIdempotentElem.cornerCoindFunctor_obj {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (N : ModuleCat he.Corner) :
            he.cornerCoindFunctor.obj N = ↧(↥(e • ⊤) →ₗ[he.Corner] ↑N)
            @[simp]
            theorem IsIdempotentElem.coe_cornerFunctor_map_hom_apply {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) {M N : ModuleCat A} (f : M ⟶ N) (x : ↥(e • ⊤)) :
            @[simp]

            The counit: e Hom_{eAe}(eA, N) ≅ N #

            def IsIdempotentElem.smulTopCoindEquiv {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (N : Type v) [AddCommGroup N] [Module he.Corner N] :
            ↥(e • ⊤) ≃ₗ[he.Corner] N

            Evaluation at e identifies e Hom_{eAe}(eA, N) with N, for every idempotent e. The inverse sends n to the homomorphism x ↦ (x * e) • n.

            Instances For
              @[simp]
              theorem IsIdempotentElem.smulTopCoindEquiv_apply {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (N : Type v) [AddCommGroup N] [Module he.Corner N] (f : ↥(e • ⊤)) :
              (he.smulTopCoindEquiv N) f = ↑f he.smulTopGen
              @[simp]
              theorem IsIdempotentElem.smulTopCoindEquiv_symm_apply_coe_apply {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (N : Type v) [AddCommGroup N] [Module he.Corner N] (n : N) (x : ↥(e • ⊤)) :
              ↑((he.smulTopCoindEquiv N).symm n) x = he.smulTopToCorner x • n

              The unit: M ≅ Hom_{eAe}(eA, eM) for a full idempotent #

              def IsIdempotentElem.smulTopActionHom {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (M : Type v) [AddCommGroup M] [Module A M] :
              M →ₗ[A] ↥(e • ⊤) →ₗ[he.Corner] ↥(e • ⊤)

              The action of eA on an A-module M, as an A-linear map M → Hom_{eAe}(eA, eM).

              Instances For
                @[simp]
                theorem IsIdempotentElem.coe_smulTopActionHom_apply_apply {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (M : Type v) [AddCommGroup M] [Module A M] (m : M) (x : ↥(e • ⊤)) :
                ↑(((he.smulTopActionHom M) m) x) = ↑x • m

                For a full idempotent e, an element of an A-module killed by eA is zero.

                For a full idempotent e, every homomorphism eA → eM of modules over the corner ring is the action of an element of M.

                The equivalence #

                The counit of the corner equivalence, e Hom_{eAe}(eA, N) ≅ N, natural in N.

                Instances For
                  @[simp]

                  The unit of the corner equivalence, M ≅ Hom_{eAe}(eA, eM), natural in M, for a full idempotent e.

                  Instances For
                    @[simp]
                    theorem IsIdempotentElem.cornerUnitIso_hom_app_hom_apply {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (hfull : TwoSidedIdeal.span {e} = ⊤) (M : ModuleCat A) (m : ↑M) :
                    (ModuleCat.Hom.hom ((he.cornerUnitIso hfull).hom.app M)) m = (he.smulTopActionHom ↑M) m
                    noncomputable def IsIdempotentElem.cornerEquivalence {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (hfull : TwoSidedIdeal.span {e} = ⊤) :

                    A full idempotent e makes the module categories of A and of its corner ring eAe equivalent: the corner functor M ↦ eM is an equivalence, with inverse N ↦ Hom_{eAe}(eA, N), unit IsIdempotentElem.cornerUnitIso and counit IsIdempotentElem.cornerCounitIso.

                    Instances For

                      The corner functor is linear over any commutative semiring R over which A is an algebra.

                      noncomputable def IsIdempotentElem.moritaEquivalenceCorner {A : Type u} [Ring A] {e : A} (he : IsIdempotentElem e) (R : Type w) [CommSemiring R] [Algebra R A] (hfull : TwoSidedIdeal.span {e} = ⊤) :

                      Morita equivalence with the corner ring of a full idempotent: for a full idempotent e of an R-algebra A, the corner functor M ↦ eM is an R-linear equivalence between the module categories of A and of eAe.

                      Instances For
                        @[simp]

                        A ring is Morita equivalent to the corner ring of any full idempotent.