Monoids of endomorphisms, groups of automorphisms #
This file defines
- the endomorphism monoid structure on
Function.End α := α → α
- the endomorphism monoid structure on
Monoid.End M := M →* M
andAddMonoid.End M := M →+ M
- the automorphism group structure on
Equiv.Perm α := α ≃ α
- the automorphism group structure on
MulAut M := M ≃* M
andAddAut M := M ≃+ M
.
Implementation notes #
The definition of multiplication in the endomorphism monoids and automorphism groups agrees with
function composition, and multiplication in CategoryTheory.End
, but not with
CategoryTheory.comp
.
Tags #
end monoid, aut group
Type endomorphisms #
The monoid of endomorphisms.
Note that this is generalized by CategoryTheory.End
to categories other than Type u
.
Equations
Instances For
Monoid endomorphisms #
The permutation of a type is equivalent to the units group of the endomorphisms monoid of this type.
Equations
Instances For
Lift a monoid homomorphism f : G →* Function.End α
to a monoid homomorphism
f : G →* Equiv.Perm α
.
Equations
Instances For
Lemmas about mixing Perm
with Equiv
. Because we have multiple ways to express
Equiv.refl
, Equiv.symm
, and Equiv.trans
, we want simp lemmas for every combination.
The assumption made here is that if you're using the group structure, you want to preserve it after
simp.
Lemmas about Equiv.Perm.sumCongr
re-expressed via the group structure.
Equiv.Perm.sumCongr
as a MonoidHom
, with its two arguments bundled into a single Prod
.
This is particularly useful for its MonoidHom.range
projection, which is the subgroup of
permutations which do not exchange elements between α
and β
.
Equations
Instances For
Lemmas about Equiv.Perm.sigmaCongrRight
re-expressed via the group structure.
Equiv.Perm.sigmaCongrRight
as a MonoidHom
.
This is particularly useful for its MonoidHom.range
projection, which is the subgroup of
permutations which do not exchange elements between fibers.
Equations
Instances For
Lemmas about Equiv.Perm.extendDomain
re-expressed via the group structure.
The inclusion map of permutations on a subtype of α
into permutations of α
,
fixing the other points.
Equations
Instances For
Left-multiplying a permutation with swap i j
twice gives the original permutation.
This specialization of swap_mul_self
is useful when using cosets of permutations.
Right-multiplying a permutation with swap i j
twice gives the original permutation.
This specialization of swap_mul_self
is useful when using cosets of permutations.
A stronger version of mul_right_injective
A stronger version of mul_left_injective
The group operation on multiplicative automorphisms is defined by g h => MulEquiv.trans h g
.
This means that multiplication agrees with composition, (g*h)(x) = g (h x)
.
Equations
Monoid hom from the group of multiplicative automorphisms to the group of permutations.
Equations
Instances For
Group conjugation, MulAut.conj g h = g * h * g⁻¹
, as a monoid homomorphism
mapping multiplication in G
into multiplication in the automorphism group MulAut G
.
See also the type ConjAct G
for any group G
, which has a MulAction (ConjAct G) G
instance
where conj G
acts on G
by conjugation.
Equations
Instances For
The group operation on additive automorphisms is defined by g h => AddEquiv.trans h g
.
This means that multiplication agrees with composition, (g*h)(x) = g (h x)
.
Equations
Monoid hom from the group of multiplicative automorphisms to the group of permutations.
Equations
Instances For
Additive group conjugation, AddAut.conj g h = g + h - g
, as an additive monoid
homomorphism mapping addition in G
into multiplication in the automorphism group AddAut G
(written additively in order to define the map).