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
$t = u s_i u^{-1}$, where $u \in W$ and $s_i$ is a simple reflection. We say that a reflection $t$
is a left inversion (CoxeterSystem.IsLeftInversion) of an element $w \in W$ if
$\ell(t w) < \ell(w)$, and we say it is a right inversion (CoxeterSystem.IsRightInversion) of
$w$ if $\ell(w t) > \ell(w)$. Here $\ell$ is the length function
(see 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 $w$ consists of all of the right (respectively, left)
inversions of $w$ in some order, but we do not prove that in this file.
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
$w s_i w^{-1}$, where $w \in W$ and $s_i$ is a simple reflection.
Instances For
The proposition that t is a right inversion of w; i.e., t is a reflection and
$\ell (w t) < \ell(w)$.
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
$\ell (t w) < \ell(w)$.
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
$s_{i_1} \cdots s_{i_\ell}$ is the sequence
$$s_{i_\ell}\cdots s_{i_1}\cdots s_{i_\ell}, \ldots, s_{i_{\ell}}s_{i_{\ell - 1}}s_{i_{\ell - 2}}s_{i_{\ell - 1}}s_{i_\ell}, \ldots, s_{i_{\ell}}s_{i_{\ell - 1}}s_{i_\ell}, s_{i_\ell}.$$
Equations
Instances For
The left inversion sequence of ω. The left inversion sequence of a word
$s_{i_1} \cdots s_{i_\ell}$ is the sequence
$$s_{i_1}, s_{i_1}s_{i_2}s_{i_1}, s_{i_1}s_{i_2}s_{i_3}s_{i_2}s_{i_1}, \ldots, s_{i_1}\cdots s_{i_\ell}\cdots s_{i_1}.$$
Equations
- cs.leftInvSeq [] = []
- cs.leftInvSeq (i :: ω_2) = cs.simple i :: List.map (⇑(MulAut.conj (cs.simple i))) (cs.leftInvSeq ω_2)