Auditable Coxeter relator lists #
A Coxeter presentation is normally published as a diagram: a set of involutions, one per node, with
a braid relation on each edge and a commuting relation on each non-edge. Mathlib turns a
CoxeterMatrix into a group through CoxeterMatrix.relationsSet, the range of
CoxeterMatrix.relation, which is a set indexed by ordered pairs rather than an explicit list whose
entries and length a reviewer can audit. This file produces that finite relator list, one relator
per unordered pair of nodes, the diagonal included, so that the n involution relators sᵢ ^ 2 are
among them.
The count is the point. TauCeti.length_coxeterRelators says that a diagram on n nodes has
(n + 1).choose 2 = n * (n + 1) / 2 relators — the number of unordered pairs with repetition
allowed, not n.choose 2.
The ordered-pair set and the unordered-pair list need not agree: for distinct nodes,
(sᵢ sⱼ) ^ mᵢⱼ and (sⱼ sᵢ) ^ mᵢⱼ can be distinct elements of the free group, so the list has to
pick one of the two orders — here the one increasing in the node numbering. They are conjugate, so
the two sets have the same normal closure, which is what
TauCeti.normalClosure_relatorSet_coxeterRelators proves and what makes the presented groups the
same.
A published diagram is usually simply laced: every edge carries the label three and every non-edge
the label two. TauCeti.coxeterMatrixOfEdges builds the CoxeterMatrix of such a diagram from the
list of its edges, so that a transcribed row records the edges the source draws rather than a
hand-built matrix.
Main definitions #
TauCeti.coxeterMatrixOfEdges: the Coxeter matrix of a simply laced diagram, from its edges.TauCeti.coxeterRelator: the relator expression(sᵢ sⱼ) ^ M i j.TauCeti.coxeterRelatorsOfListandTauCeti.coxeterRelators: one Coxeter relator per unordered pair of nodes, the diagonal included.
Main results #
TauCeti.length_coxeterRelators: the relator count of a diagram onnnodes.TauCeti.normalClosure_relatorSet_coxeterRelators: the finite list and Mathlib's ordered-pair set have the same normal closure.TauCeti.mulEquivCoxeterGroup: the group presented by the Coxeter relator list ofMisM.Group.TauCeti.mulEquivPresentedGroupCoxeterAppend: the group presented by that list followed by further relators is the group defined by Mathlib's Coxeter relations together with those extra relations.TauCeti.of_mul_of_pow_coxeterRelators_appendandTauCeti.of_mul_of_self_coxeterRelators_append: in the group presented by that list followed by further relators,(sᵢ sⱼ) ^ M i j = 1, and every generator is an involution.TauCeti.GroupPresentation.mulEquivCoxeterGroupandTauCeti.GroupPresentation.mulEquivPresentedGroupCoxeterAppend: the same two conclusions for a transcribed presentation row. Neither asks the row's relators to be the Coxeter relators, or the Coxeter relators followed by the extras, on the nose: each takes as hypothesis only that the relation set of the transcription and the relation set of that list have the same normal closure, which is the datum the quotient depends on.TauCeti.Relator.relatorSet_eq_of_mem_map_toWord_iffcan supply such a hypothesis from compiled-word membership.
References #
This file supplies reusable Coxeter-presentation machinery needed by milestone S1 of
TauCetiRoadmap/CFSGStatement/README.md. No presentation of a named group is asserted here.
TauCeti.coxeterRelatorsOfList is built from Mathlib's List.sym2 in Mathlib.Data.List.Sym,
whose List.length_sym2 supplies the relator count, and from Sym2.inf/Sym2.sup in
Mathlib.Data.Sym.Sym2.Order, which pick the canonical ordered representative of an unordered
pair.
The Coxeter relators of a Coxeter matrix #
The Coxeter matrix of the simply laced diagram with the given edges: a node with itself has entry one, a pair of distinct nodes joined by an edge has entry three, and every other pair of distinct nodes has entry two.
The edge list is read symmetrically, so each edge may be oriented either way, and repeated edges are harmless. The body is exposed so that the checks a transcribed diagram runs on its own matrix reduce.
Instances For
Evaluation of the Coxeter matrix of a simply laced diagram directly from its edge list.
The Coxeter relator (sᵢ sⱼ) ^ M i j, as an auditable relator expression. On the diagonal
M i i = 1, so this is the involution relator sᵢ ^ 2 written as (sᵢ sᵢ) ^ 1.
Instances For
A Coxeter relator contains twice as many signed letters as its matrix entry.
The signed word of a Coxeter relator is cyclically reduced.
Interpreting a Coxeter relator in the free group yields Mathlib's Coxeter relation.
The Coxeter relators drawn from a list of nodes: one relator (sᵢ sⱼ) ^ M i j for each
unordered pair of list entries, including pairs that use the same entry, so that the involution
relators are among them. Duplicate entries can produce repeated relators. The pair is written in
increasing order.
The unordered pairs are Mathlib's List.sym2; Sym2.inf and Sym2.sup name the smaller and the
larger node, which is the choice of order the free group forces on the transcription.
Instances For
The Coxeter relator list is obtained by mapping the canonically ordered representative of each unordered pair of list positions to its Coxeter relator.
This is the unfolding lemma for the sealed body, and like TauCeti.GroupPresentation.relators_def
it is deliberately not @[simp]: it lets a concrete finite presentation audit the compiled words
without the definition being exposed.
A list of length n yields (n + 1).choose 2 Coxeter relators, the number of unordered pairs
of list positions with repetition allowed.
Membership in the Coxeter relator list, in terms of two nodes of the source list and their canonical increasing order.
The Coxeter relators of a matrix indexed by Fin n, in the order of the Bourbaki-style node
numbering 0, 1, …, n - 1.
Instances For
The numbered Coxeter relator list uses the nodes 0, …, n - 1 in that order. This is the
unfolding lemma for the sealed body, and like coxeterRelatorsOfList_def it is not @[simp].
Membership in the Coxeter relator list of a Fin n-indexed matrix: every pair of nodes
contributes, so the only condition is that the relator be the one of a pair, written in the
canonical increasing order.
A Coxeter diagram on n nodes has (n + 1).choose 2 relators.
The finite Coxeter relator list presents the same group as Mathlib's relation set. The two
sets of relations need not coincide: for distinct nodes, only one of (sᵢ sⱼ) ^ mᵢⱼ and
(sⱼ sᵢ) ^ mᵢⱼ is transcribed. They are conjugate and so have the same normal closure.
Appending further relators to the Coxeter relator list imposes Mathlib's Coxeter relations together with the extra relations. A published Y-diagram presentation has this shape, its extra relator being the spider relator.
The Fin n-indexed form of TauCeti.normalClosure_relatorSet_coxeterRelatorsOfList.
The Fin n-indexed form of
TauCeti.normalClosure_relatorSet_coxeterRelatorsOfList_append.
The group presented by the finite Coxeter relator list is Mathlib's Coxeter group.
Instances For
The Coxeter relator list followed by further relators presents Mathlib's Coxeter relations
together with those extra relations. Taking extra = [] recovers
TauCeti.mulEquivCoxeterGroup.
Instances For
Every Coxeter relation of M holds in a presented group whose relators are the Coxeter
relators of M followed by any further relators, in either order of the two generators.
Every generator is an involution in a presented group whose relators are the Coxeter
relators of M followed by any further relators.
A transcription whose relations have the same normal closure as the Coxeter relators of M
presents
M.Group.
A presentation row that adds relators to the diagram — every published Y-diagram row does, its
spider relator being the addition — is served by
TauCeti.GroupPresentation.mulEquivPresentedGroupCoxeterAppend instead.
The hypothesis is stated at the normal-closure level, so it also applies when different relation sets generate the same normal subgroup.
Instances For
A transcription whose relations have the same normal closure as the Coxeter relators of M
followed by further relators presents the Coxeter relations together with those extra relations.
This is the form an
audited Y-diagram presentation row uses: the record supplies the generator names, the source, and
the count checks, the diagram supplies the Coxeter relators, and the row's own relators — the spider
relator, and for the Monster the relator Z as well — are the extras.