Reflections, inversions, and inversion sequences #
Throughout this file, B is a type and M : CoxeterMatrix B is a Coxeter matrix.
cs : CoxeterSystem M W is a Coxeter system; that is, W is a group, and cs holds the data
of a group isomorphism W ≃* M.group, where M.group refers to the quotient of the free group on
B by the Coxeter relations given by the matrix M. See Mathlib/GroupTheory/Coxeter/Basic.lean
for more details.
We define a reflection (CoxeterSystem.IsReflection) to be an element of the form
CoxeterSystem.IsLeftInversion) of an element CoxeterSystem.IsRightInversion) of
Mathlib/GroupTheory/Coxeter/Length.lean).
Given a word, we define its left inversion sequence (CoxeterSystem.leftInvSeq) and its
right inversion sequence (CoxeterSystem.rightInvSeq). We prove that if a word is reduced, then
both of its inversion sequences contain no duplicates. In fact, the right (respectively, left)
inversion sequence of a reduced word for
Main definitions #
CoxeterSystem.IsReflectionCoxeterSystem.IsLeftInversionCoxeterSystem.IsRightInversionCoxeterSystem.leftInvSeqCoxeterSystem.rightInvSeq
References #
t : W is a reflection of the Coxeter system cs if it is of the form
Instances For
The proposition that t is a right inversion of w; i.e., t is a reflection and
Equations
- cs.IsRightInversion w t = (cs.IsReflection t ∧ cs.length (w * t) < cs.length w)
Instances For
The proposition that t is a left inversion of w; i.e., t is a reflection and
Equations
- cs.IsLeftInversion w t = (cs.IsReflection t ∧ cs.length (t * w) < cs.length w)
Instances For
The right inversion sequence of ω. The right inversion sequence of a word
Equations
Instances For
The left inversion sequence of ω. The left inversion sequence of a word
Equations
- cs.leftInvSeq [] = []
- cs.leftInvSeq (i :: ω_2) = cs.simple i :: List.map (⇑(MulAut.conj (cs.simple i))) (cs.leftInvSeq ω_2)