The underlying module of a subrepresentation #
Mathlib's Subrepresentation API records how toSubmodule interacts with the lattice
operations — Subrepresentation.toSubmodule_sup and Subrepresentation.toSubmodule_inf, both
@[simp] and both true by rfl — but not how it interacts with the bounded-lattice structure,
nor how it interacts with the order relations themselves, nor how it interacts with membership.
This file adds the six missing counterparts, in the same shape. It also records that the
representation action on a subrepresentation is the restriction of the original action, when an
intertwining map is zero and when it is surjective in terms of the subrepresentation its range is,
the inclusion of a subrepresentation as an intertwining map, that the group-algebra action on a
subrepresentation coerces to the original action, the canonical equivalence between the module of
the restricted representation and the corresponding submodule, and that a subrepresentation is
minimal exactly when the A[G]-submodule it carries is simple.
They are stated at the typeclasses Subrepresentation itself asks for, so they apply wherever
the abstraction does. The ⊥ and ⊤ lemmas let proofs about extreme subrepresentations avoid
asserting the definitional unfolding of the BoundedOrder instance by hand; the ≤ and <
lemmas move an order statement between the two lattices, which is what lets a submodule-level
argument — a dimension count, say, or an orthogonal complement — settle a question about
subrepresentations; and the membership lemma does the same for a single element, so that a
carrier computed by a toSubmodule lemma answers a SetLike membership goal without unfolding
the SetLike instance by hand. Representation.IntertwiningMap.eq_zero_iff_range_eq_bot and
Representation.IntertwiningMap.surjective_iff_range_eq_top are the first consumers of the ⊥ and
⊤ lemmas, and belong here because ⊥ and ⊤ of Subrepresentation have no other API: they are
LinearMap.range_eq_bot and LinearMap.range_eq_top moved up to the subrepresentation lattice,
and Subrepresentation.subtype_eq_zero_iff and Subrepresentation.subtype_surjective_iff below
are what they are proved for. In the same spirit,
Subrepresentation.isSimpleModule_asSubmodule_iff moves the notion of an irreducible constituent
across Subrepresentation.subrepresentationSubmoduleOrderIso, so that Mathlib's simple- and
semisimple-module API applies to minimal subrepresentations; being about asSubmodule it asks for
the coefficients to be a commutative ring, as Subrepresentation.asSubmodule and
IsSimpleModule between them do. Subrepresentation.isCompl_toSubmodule is one more entry in
the lattice dictionary, moving IsCompl across it, and stated with the rest of that dictionary at
the typeclasses Subrepresentation itself asks for. Finally,
Subrepresentation.equivProdOfIsCompl upgrades a complement to an equivalence of representations
ρ ≃ ρ₁ × ρ₂: Submodule.prodEquivOfIsCompl supplies the linear isomorphism and each ρ g,
being additive and preserving both summands, supplies the equivariance. Being about
Submodule.prodEquivOfIsCompl, it asks for the coefficients to be a ring and the module to be a
group, as that construction does.
Restriction along a surjective monoid homomorphism identifies the lattices of invariant submodules, keeping the underlying submodule in both directions. In particular it preserves irreducibility, as does restriction along a monoid isomorphism.
Main results #
MonoidHom.resSubrepresentationOrderIsoMonoidHom.isIrreducible_comp_surjective_iffMulEquiv.isIrreducible_comp_equiv_iffSubrepresentation.mem_toSubmoduleSubrepresentation.toSubmodule_botSubrepresentation.toSubmodule_topSubrepresentation.instNontrivialSubrepresentation.toSubmodule_le_toSubmoduleSubrepresentation.toSubmodule_lt_toSubmoduleSubrepresentation.isCompl_toSubmoduleSubrepresentation.toRepresentation_applyRepresentation.IntertwiningMap.eq_zero_iff_range_eq_botRepresentation.IntertwiningMap.surjective_iff_range_eq_topSubrepresentation.subtypeSubrepresentation.coe_subtypeSubrepresentation.toLinearMap_subtypeSubrepresentation.subtype_injectiveSubrepresentation.range_subtypeSubrepresentation.ker_subtypeSubrepresentation.subtype_eq_zero_iffSubrepresentation.subtype_surjective_iffSubrepresentation.coe_toRepresentation_asAlgebraHom_applySubrepresentation.asModuleEquivAsSubmoduleSubrepresentation.isSimpleModule_asSubmodule_iffSubrepresentation.equivProdOfIsCompl
A vector lies in the subspace a subrepresentation carries exactly when it lies in the
subrepresentation. This is the SetLike instance of Subrepresentation, whose coercion is
toSubmodule, stated as a lemma so that proofs need not unfold it.
The bottom subrepresentation carries the bottom subspace.
The top subrepresentation carries the top subspace.
The subrepresentation lattice of a nontrivial representation is nontrivial.
One subrepresentation is contained in another exactly when the subspace it carries is.
One subrepresentation is strictly contained in another exactly when the subspace it carries is.
Two subrepresentations are complementary exactly when the subspaces they carry are. This is
the counterpart, for IsCompl, of Subrepresentation.toSubmodule_le_toSubmodule: it is what lets
a splitting established in the submodule lattice -- by a dimension count, say, or by an explicit
projection -- be read as a splitting of representations.
The action on a subrepresentation is the restriction of the original action.
An intertwining map is zero exactly when its range is the bottom subrepresentation.
An intertwining map is surjective exactly when its range is the top subrepresentation.
The inclusion of a subrepresentation, as an intertwining map: the analogue of
Submodule.subtype, which is the linear map underlying it.
Instances For
The inclusion of a subrepresentation acts by the subtype coercion.
The linear map underlying the inclusion is the submodule subtype map.
The range of the inclusion of a subrepresentation is that subrepresentation.
The kernel of the inclusion of a subrepresentation is zero.
The inclusion of a subrepresentation is injective.
The inclusion of a subrepresentation is zero exactly when the subrepresentation is zero.
The inclusion of a subrepresentation is surjective exactly when the subrepresentation is the whole representation.
The group-algebra action on a subrepresentation, coerced to the ambient module, is the original group-algebra action.
The module carried by a subrepresentation is canonically its associated submodule. The equivalence identifies both with the same invariant subset of the ambient representation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A minimal subrepresentation is the same thing as a simple A[G]-submodule of the associated
module: the dictionary between the two ways of saying "irreducible constituent". It is
isSimpleModule_iff_isAtom read across Subrepresentation.subrepresentationSubmoduleOrderIso.
Complementary subrepresentations split the representation as a direct sum. Adding a
vector of ρ₁ to one of ρ₂ is a linear isomorphism ρ₁ × ρ₂ ≃ W by
Submodule.prodEquivOfIsCompl, and it is equivariant because every ρ g is additive and
preserves each summand; so ρ is the product of the two representations the summands carry.
This is the representation-theoretic content of a complement, of which
Submodule.prodEquivOfIsCompl records only the linear part.
Equations
Instances For
The splitting is the linear splitting Submodule.prodEquivOfIsCompl of the two carriers, read
backwards: it sends a vector to the pair of its components along the complementary submodules.
The inverse of the splitting adds the two components back together.
Restriction along a surjective monoid homomorphism identifies invariant subspaces: a subspace
invariant under ρ ∘ f is invariant under ρ, because f is onto. Both directions keep the
underlying submodule.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The forward invariant-subspace correspondence preserves the underlying submodule.
The inverse invariant-subspace correspondence preserves the underlying submodule.
Restriction along a surjective monoid homomorphism preserves irreducibility: irreducibility is
simplicity of the lattice of invariant subspaces, and MonoidHom.resSubrepresentationOrderIso
identifies the two lattices.
Restriction along a monoid isomorphism preserves irreducibility.