Documentation

LeanPool.BrauerGroupNew.MoritaEquivalence

Morita equivalence for matrix algebras #

This file ports the upstream BrauerGroup development proving the Morita equivalence between modules over a ring and over a matrix ring.

@[implicit_reducible]
instance instModuleMatrixForallLeanPool (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [DecidableEq ι] (M : Type u_1) [AddCommGroup M] [Module R M] :
Module (Matrix ι ι R) (ιM)
Equations
  • One or more equations did not get rendered due to their size.

The functor sending an R-module to the coordinatewise module over ι × ι matrices.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem toModuleCatOverMatrix_obj_carrier (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [DecidableEq ι] (M : ModuleCat R) :
    ((toModuleCatOverMatrix R ι).obj M) = (ιM)
    @[simp]
    theorem toModuleCatOverMatrix_map (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [DecidableEq ι] {X✝ Y✝ : ModuleCat R} (f : X✝ Y✝) :
    (toModuleCatOverMatrix R ι).map f = ModuleCat.ofHom { toFun := fun (v : ιX✝) (i : ι) => (CategoryTheory.ConcreteCategory.hom f) (v i), map_add' := , map_smul' := }
    def fromModuleCatOverMatrix.α (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] (M : Type u_1) [AddCommGroup M] [Module (Matrix ι ι R) M] :

    The additive subgroup cut out by the default diagonal idempotent.

    Equations
    Instances For
      @[simp]
      theorem fromModuleCatOverMatrix.coe_α (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] (M : Type u_1) [AddCommGroup M] [Module (Matrix ι ι R) M] :
      (α R ι M) = Set.range fun (x : M) => Matrix.single default default 1 x
      @[implicit_reducible]
      instance fromModuleCatOverMatrix.moduleΑ (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] (M : Type u_1) [AddCommGroup M] [Module (Matrix ι ι R) M] :
      Module R (α R ι M)
      Equations
      • One or more equations did not get rendered due to their size.

      The functor sending a matrix-module to the default diagonal idempotent summand.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem fromModuleCatOverMatrix_obj_carrier (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] (M : ModuleCat (Matrix ι ι R)) :
        @[simp]
        theorem fromModuleCatOverMatrix_map (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] {X✝ Y✝ : ModuleCat (Matrix ι ι R)} (f : X✝ Y✝) :
        (fromModuleCatOverMatrix R ι).map f = ModuleCat.ofHom { toFun := fun (x : (fromModuleCatOverMatrix.α R ι X✝)) => (CategoryTheory.ConcreteCategory.hom f) x, , map_add' := , map_smul' := }

        The counit of toModuleCatOverMatrixfromModuleCatOverMatrix.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem matrix.unitIsoHom_app (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] (X : ModuleCat R) :
          (unitIsoHom R ι).app X = ModuleCat.ofHom { toFun := fun (x : (fromModuleCatOverMatrix.α R ι ((toModuleCatOverMatrix R ι).obj X))) => i : ι, x i, map_add' := , map_smul' := }

          The inverse unit map for toModuleCatOverMatrixfromModuleCatOverMatrix.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[simp]
            theorem matrix.unitIsoInv_app (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] (X : ModuleCat R) :
            (unitIsoInv R ι).app X = ModuleCat.ofHom { toFun := fun (x : X) => Function.update 0 default x, , map_add' := , map_smul' := }

            The natural isomorphism from toModuleCatOverMatrixfromModuleCatOverMatrix to the identity.

            Equations
            Instances For
              @[simp]
              theorem matrix.unitIso_inv (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] :
              (unitIso R ι).inv = unitIsoInv R ι
              @[simp]
              theorem matrix.unitIso_hom (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] :
              (unitIso R ι).hom = unitIsoHom R ι
              noncomputable def matrix.counitIsoHomMap (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] (M : ModuleCat (Matrix ι ι R)) :

              The linear isomorphism comparing a matrix-module with its reconstructed coordinate module.

              Equations
              Instances For

                The counit map from the reconstructed matrix-module to the original matrix-module.

                Equations
                Instances For
                  @[simp]
                  theorem matrix.counitIsoHom_app (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] (M : ModuleCat (Matrix ι ι R)) :

                  The inverse of the matrix-module counit map.

                  Equations
                  Instances For
                    @[simp]
                    theorem matrix.counitIsoInv_app (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] (M : ModuleCat (Matrix ι ι R)) :

                    The natural isomorphism from fromModuleCatOverMatrixtoModuleCatOverMatrix to the identity.

                    Equations
                    Instances For
                      @[simp]
                      theorem matrix.counitIso_hom (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] :
                      @[simp]
                      theorem matrix.counitIso_inv (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] :
                      noncomputable def moritaEquivalentToMatrix (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [Inhabited ι] [DecidableEq ι] :

                      The Morita equivalence between modules over R and modules over Matrix ι ι R.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        instance CategoryTheory.Equivalence.nontrivial {R S : Type u} [Ring R] [Ring S] (e : ModuleCat R ModuleCat S) (M : ModuleCat R) [h : Nontrivial M] :
                        theorem matrix_smul_vec_def (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [DecidableEq ι] {M : Type u_1} [AddCommGroup M] [Module R M] (N : Matrix ι ι R) (v : ιM) :
                        N v = fun (i : ι) => j : ι, N i j v j
                        theorem matrix_smul_vec_def' (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [DecidableEq ι] {M : Type u_1} [AddCommGroup M] [Module R M] (N : Matrix ι ι R) (v : ιM) :
                        N v = j : ι, fun (i : ι) => N i j v j
                        theorem matrix_smul_vec_apply (R : Type u) [Ring R] (ι : Type w) [Fintype ι] [DecidableEq ι] {M : Type u_1} [AddCommGroup M] [Module R M] (N : Matrix ι ι R) (v : ιM) (i : ι) :
                        (N v) i = j : ι, N i j v j