LeanPool.DemazureOperatorsLean.Matsumoto #
Extra nondegeneracy assumptions used in the Matsumoto theorem development.
Instances
A nil move removes two adjacent equal simple reflections at a given offset.
- i : B
The simple reflection index used by the nil move.
- p : ℕ
The offset where the nil move is applied.
Instances For
A braid move replaces a braid word by the opposite braid word at a given offset.
- i : B
The first simple reflection index in the braid word.
- j : B
The second simple reflection index in the braid word.
- p : ℕ
The offset where the braid move is applied.
Instances For
A Coxeter move is either a nil move or a braid move.
- nil {B W : Type} [Group W] {M : CoxeterMatrix B} {cs : CoxeterSystem M W} : cs.NilMove → cs.CoxeterMove
- braid {B W : Type} [Group W] {M : CoxeterMatrix B} {cs : CoxeterSystem M W} : cs.BraidMove → cs.CoxeterMove
Instances For
Apply a nil move to a word.
Equations
Instances For
Apply a braid move to a word.
Equations
- cs.applyBraidMove { i := i, j := j, p := 0 } l = if List.take (M.M i j) l = CoxeterSystem.braidWord M i j then CoxeterSystem.braidWord M j i ++ List.drop (M.M i j) l else l
- cs.applyBraidMove { i := i, j := j, p := p_2.succ } [] = []
- cs.applyBraidMove { i := i, j := j, p := p_2.succ } (h :: t) = h :: cs.applyBraidMove { i := i, j := j, p := p_2 } t
Instances For
Apply either kind of Coxeter move to a word.
Equations
- cs.applyCoxeterMove (CoxeterSystem.CoxeterMove.nil nm) l = cs.applyNilMove nm l
- cs.applyCoxeterMove (CoxeterSystem.CoxeterMove.braid bm) l = cs.applyBraidMove bm l
Instances For
Apply a list of Coxeter moves to a word from right to left.
Equations
- cs.applyCoxeterMoveSequence cms l = List.foldr cs.applyCoxeterMove l cms
Instances For
Apply a sequence of braid moves to a word.
Equations
- cs.applyBraidMoveSequence [] l = l
- cs.applyBraidMoveSequence (bm :: bms') l = cs.applyBraidMove bm (cs.applyBraidMoveSequence bms' l)
Instances For
Shift a braid move one position to the right.