Defining a group given by generators and relations #
Given a subset rels
of relations of the free group on a type α
, this file constructs the group
given by generators x : α
and relations r ∈ rels
.
Main definitions #
PresentedGroup rels
: the quotient group of the free group on a typeα
by a subsetrels
of relations of the free group onα
.of
: The canonical map fromα
to a presented group with generatorsα
.toGroup f
: the canonical group homomorphismPresentedGroup rels → G
, given a functionf : α → G
from a typeα
to a groupG
which satisfies the relationsrels
.
Tags #
generators, relations, group presentations
Given a set of relations, rels
, over a type α
, PresentedGroup
constructs the group with
generators x : α
and relations rels
as a quotient of FreeGroup α
.
Equations
- PresentedGroup rels = (FreeGroup α ⧸ Subgroup.normalClosure rels)
Instances For
Equations
The canonical map from the free group on α
to a presented group with generators x : α
,
where x
is mapped to its equivalence class under the given set of relations rels
Equations
- PresentedGroup.mk rels = { toFun := QuotientGroup.mk, map_one' := ⋯, map_mul' := ⋯ }
Instances For
of
is the canonical map from α
to a presented group with generators x : α
. The term x
is
mapped to the equivalence class of the image of x
in FreeGroup α
.
Equations
- PresentedGroup.of x = (PresentedGroup.mk rels) (FreeGroup.of x)
Instances For
The generators of a presented group generate the presented group. That is, the subgroup closure
of the set of generators equals ⊤
.
The extension of a map f : α → G
that satisfies the given relations to a group homomorphism
from PresentedGroup rels → G
.
Equations
- PresentedGroup.toGroup h = QuotientGroup.lift (Subgroup.normalClosure rels) (FreeGroup.lift f) ⋯
Instances For
Presented groups of isomorphic types are isomorphic.
Equations
- PresentedGroup.equivPresentedGroup rels e = QuotientGroup.congr (Subgroup.normalClosure rels) (Subgroup.normalClosure (⇑(FreeGroup.freeGroupCongr e) '' rels)) (FreeGroup.freeGroupCongr e) ⋯
Instances For
Equations
- PresentedGroup.instInhabited rels = { default := 1 }