Isotypic components of the regular module as an invariant of abstract simple modules #
Mathlib's isotypicComponent R N S is the sum of all submodules of N isomorphic to S, and
isotypicComponents R N is the set of its nontrivial values as S ranges over the simple
submodules of N. For N = R the latter is a set of left ideals, and it is what indexes the
Artin-Wedderburn decomposition of a semisimple ring. Calling those indices the isomorphism classes
of simple R-modules is a theorem, not a rename: an abstract simple module carries no relation to
R beyond its action.
Mathlib supplies the input, IsSemisimpleRing.exists_linearEquiv_ideal_of_isSimpleModule: every
simple module over a semisimple ring is isomorphic to a left ideal, necessarily a minimal one. This
file turns that realization into the statement that M ↦ isotypicComponent R R M, which Mathlib
already defines for an abstract M, is a complete isomorphism invariant of simple modules whose
values are exactly isotypicComponents R R.
Main results #
TauCeti.le_isotypicComponent_iff_nonempty_linearEquiv: a simple submodule lies in theS-isotypic component exactly when it is a copy of the simple moduleS. The isotypic component therefore sees no simple module other thanS; this holds in any ambient module, with no hypothesis on the ring.TauCeti.isotypicComponent_eq_iff: the block ⇆ simple-module dictionary. Two simple modules over a semisimple ring cut out the same isotypic component ofRif and only if they are isomorphic — the injectivity half.TauCeti.isotypicComponent_mem_isotypicComponents: the isotypic component cut out by an abstract simple module is one of the isotypic components of the regular module, so the map above is well defined intoisotypicComponents R R. Surjectivity needs no lemma: by definition every element ofisotypicComponents R RisisotypicComponent R R Ifor a simple left idealI.TauCeti.simpleSubmoduleClassesEquiv: the bijection. The isomorphism classes of simple submodules ofM, as the quotient typeTauCeti.SimpleSubmoduleClasses R M, correspond to the isotypic components ofM, the class ofNgoing to theN-isotypic component. This needs no hypothesis on the ring; forM = Rit is the bijection with the Artin-Wedderburn blocks.TauCeti.simpleModuleClass: over a semisimple ring, the class inSimpleSubmoduleClasses R Rof the simple left ideals realizing an abstract simple module. Its fibres are the isomorphism classes (TauCeti.simpleModuleClass_eq_iff) and it hits every class (TauCeti.simpleModuleClass_coe), soSimpleSubmoduleClasses R Ris a universe-safe type of isomorphism classes of simpleR-modules.TauCeti.finite_of_pairwise_not_linearEquiv: a semisimple ring has only finitely many isomorphism classes of simple modules.
Implementation notes #
Isomorphism classes of abstract simple modules cannot be a type: they range over every universe.
They are therefore handled in two ways here. The relational lemmas
TauCeti.isotypicComponent_eq_iff and TauCeti.isotypicComponent_mem_isotypicComponents state
injectivity and well-definedness of M ↦ isotypicComponent R R M without naming a type of classes
at all. The bundled bijection instead uses TauCeti.SimpleSubmoduleClasses R R, the classes of
simple left ideals, which is a type in Type u; over a semisimple ring
TauCeti.simpleModuleClass identifies it with the classes of abstract simple modules. It is used
through TauCeti.SimpleSubmoduleClasses.mk, TauCeti.SimpleSubmoduleClasses.mk_eq_mk_iff and the
eliminators TauCeti.SimpleSubmoduleClasses.lift (into Sort, with its defining equation
TauCeti.SimpleSubmoduleClasses.lift_mk) and TauCeti.SimpleSubmoduleClasses.ind (into Prop),
which is a complete API: nothing downstream has to know it is a quotient.
Each proof over a semisimple ring realizes the abstract module as a left ideal and transports along that realization; nothing here redoes the isotypic theory.
This implements the isomorphism-class bijection of Layer 1.5 of the semisimple algebras roadmap. See T. Y. Lam, A First Course in Noncommutative Rings, GTM 131, §3, and C. W. Curtis and I. Reiner, Representation Theory of Finite Groups and Associative Algebras, §25.
A simple submodule lies in the S-isotypic component of M exactly when it is a copy of the
simple module S. Unlike Mathlib's Submodule.le_isotypicComponent, the module S cutting out
the component is an arbitrary simple R-module rather than a submodule of M.
The isomorphism classes of simple submodules of M. Unlike the isomorphism classes of abstract
simple modules, which range over every universe, this is a type; over a semisimple ring the two
agree for M = R, by TauCeti.simpleModuleClass.
That this is a quotient of the simple submodules by linear isomorphism is an implementation
detail: build a class with TauCeti.SimpleSubmoduleClasses.mk, compare classes with
TauCeti.SimpleSubmoduleClasses.mk_eq_mk_iff, and eliminate with
TauCeti.SimpleSubmoduleClasses.lift into Sort or TauCeti.SimpleSubmoduleClasses.ind into
Prop. The bodies stay unexposed: the defining equations
TauCeti.SimpleSubmoduleClasses.lift_mk and TauCeti.coe_simpleSubmoduleClassesEquiv_mk are
stated as ordinary theorems, so nothing downstream depends on the quotient by definitional
unfolding.
Equations
Instances For
The isomorphism class of a simple submodule of M.
Equations
Instances For
Every isomorphism class is the class of a simple submodule: the eliminator into Prop.
The eliminator into Sort. To define data on the isomorphism classes of simple submodules
of M it suffices to give a value on each simple submodule and to check that isomorphic simple
submodules get the same value; the value on a class is then read off by
TauCeti.SimpleSubmoduleClasses.lift_mk.
Equations
- TauCeti.SimpleSubmoduleClasses.lift f hf c = Quot.lift (fun (N : { N : Submodule R M // IsSimpleModule R ↥N }) => f ↑N) ⋯ c
Instances For
The defining equation of TauCeti.SimpleSubmoduleClasses.lift.
Isomorphism classes of simple submodules biject with isotypic components. The class of a
simple submodule N of M corresponds to the N-isotypic component of M.
Injectivity is TauCeti.le_isotypicComponent_iff_nonempty_linearEquiv: a simple submodule of an
isotypic component is a copy of the module cutting it out. Surjectivity is the definition of
isotypicComponents.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Over a semisimple ring, the isotypic component of the regular module cut out by an abstract
simple module really is one of the isotypic components of R, which are indexed by the simple
left ideals.
The isotypic component of the regular module is a complete isomorphism invariant of a simple
module. Over a semisimple ring, two simple modules cut out the same isotypic component of R if
and only if they are isomorphic.
Together with TauCeti.isotypicComponent_mem_isotypicComponents and the fact that every element of
isotypicComponents R R is by definition an isotypic component of a simple left ideal, this is the
bijection between isomorphism classes of simple R-modules and the isotypic components of R; the
latter index the blocks of an Artin-Wedderburn decomposition.
Over a semisimple ring, the isomorphism class of the simple left ideals realizing an abstract
simple module M; see TauCeti.simpleModuleClass_eq_mk_iff.
Equations
- TauCeti.simpleModuleClass R M = (TauCeti.simpleSubmoduleClassesEquiv R R).symm ⟨isotypicComponent R R M, ⋯⟩
Instances For
The class of an abstract simple module is the class of a simple left ideal exactly when the two
are isomorphic, which is what makes TauCeti.simpleModuleClass a realization of M.
Every isomorphism class of simple left ideals is the class of an abstract simple module, namely
of the ideal itself: TauCeti.simpleModuleClass is surjective.
The dictionary as a map to a type of classes. Over a semisimple ring, two simple modules have the same class of realizing left ideals if and only if they are isomorphic.
With TauCeti.simpleModuleClass_coe this says that SimpleSubmoduleClasses R R, which
TauCeti.simpleSubmoduleClassesEquiv identifies with the isotypic components of R, is a type of
isomorphism classes of simple R-modules.
A semisimple ring has only finitely many isomorphism classes of simple modules: a family of
pairwise non-isomorphic simple R-modules is indexed by a finite type, because
isotypicComponent R R embeds it into the finite set isotypicComponents R R.