The permutation representation of a group action on an enumerated set #
A group G acting on a set α with n elements permutes them, and choosing an enumeration
e : α ≃ Fin n turns that into a homomorphism G →* Equiv.Perm (Fin n). This file is that
transport and the price of the choice.
The action on α is the intrinsic object and needs no choices. A symmetric group does not
appear until e is chosen, and the point is that the choice costs exactly one conjugation and
no more:
- the representation
permutationRepresentation edepends one; - but
permutationRepresentation e'is conjugate to it insideEquiv.Perm (Fin n), by the re-indexing permutatione.symm.trans e'(permutationRepresentation_eq_conj), and the same holds of the images (map_permutationRepresentation_range_conj).
So the action is canonical, while the resulting subgroup of a particular symmetric group is
canonical only up to conjugacy. This is the same phenomenon as Mathlib's
Polynomial.Gal.galActionHom, which acts on p.rootSet E rather than on Fin p.natDegree for
the same reason.
permutationRepresentation needs no hypothesis. When the action is faithful it is injective,
and permutationEmbedding bundles that as the injection G ↪ S_n into the ambient symmetric
group; the isomorphism onto the image is MonoidHom.ofInjective (permutationRepresentation_injective e), which needs no wrapper here.
The motivating case is a Galois group permuting the embeddings of a field: G = M ≃ₐ[F] M
acting on L →ₐ[F] M by postcomposition (TauCeti/Algebra/GroupAction/AlgHom.lean), where
TauCeti/FieldTheory/Normal/Embeddings.lean supplies faithfulness from the generation
hypothesis as faithfulSMul_of_normalClosure_eq_top.
Main results #
Equiv.permutationRepresentation: the representationG →* Equiv.Perm (Fin n)attached to an enumerationeofα.Equiv.permutationRepresentation_apply: it acts byi ↦ e (g • e.symm i).Equiv.permutationRepresentation_injective: it is injective when the action is faithful.Equiv.permutationEmbedding: the injectionG ↪ Equiv.Perm (Fin n), withEquiv.permutationEmbedding_applyidentifying its values.Equiv.permutationRepresentation_eq_conjandEquiv.map_permutationRepresentation_range_conj: replacing the enumeration conjugates the representation, and its image.Equiv.permutationRepresentation_eq_of_map_smul: an enumeration carrying the action to a given homomorphismρ : G →* Equiv.Perm (Fin n)recoversρ.Equiv.ker_permutationRepresentation,Equiv.comap_stabilizer_permutationRepresentationandEquiv.isPretransitive_range_permutationRepresentation_iff: the kernel, the point stabilisers and the transitivity of the representation are those of the action.
G embeds in S_n when the action is faithful: an element acting trivially on the
enumerated points fixes every point, hence is the identity.
G injects into S_n, for an enumeration e of the points and a faithful action on
them. A consumer wanting the isomorphism onto the image instead writes
MonoidHom.ofInjective (permutationRepresentation_injective e).
Equations
- e.permutationEmbedding = { toFun := ⇑e.permutationRepresentation, inj' := ⋯ }
Instances For
The embedding acts as the representation.
Replacing the enumeration conjugates the representation inside S_n, by the re-indexing
permutation e.symm.trans e'. The subgroup of Equiv.Perm (Fin n) is therefore well defined
only up to conjugacy, while the action on α itself is canonical.
The represented subgroups of S_n are conjugate, by the same re-indexing permutation.
This is the subgroup-level form of permutationRepresentation_eq_conj, and it is what makes
"canonical up to conjugacy" a statement about the image rather than about individual elements.
An equivariant enumeration recovers the representation. If e carries the action of G
on α to the action of G on Fin n through ρ, then ρ is the permutation representation
read through e.
The point stabilisers of the representation are those of the action: the stabiliser of
the index e x pulls back to the stabiliser of x.