Bruhat order #
This file defines the Bruhat order.
Main definitions #
Coxeter.le: The Bruhat orderCoxeter.w₀: The longest element
Main Statements #
References #
- [BB05] A. Björner and F. Brenti, Combinatorics of Coxeter Groups
- rfl {W : Type u_1} [CoxeterGroup W] (u : W) : le u u
- step {W : Type u_1} [CoxeterGroup W] (u v w : W) (h1 : le u v) (h2 : CoxeterGroup.cs.IsReflection (w * v⁻¹)) (h3 : CoxeterGroup.cs.length v < CoxeterGroup.cs.length w) : le u w
Instances For
@[implicit_reducible]
Equations
- Coxeter.instLE_coxeter = { le := Coxeter.le }
Equations
- Coxeter.lt u w = (u ≤ w ∧ u ≠ w)
Instances For
@[implicit_reducible]
Equations
- Coxeter.instLT_coxeter = { lt := Coxeter.lt }
@[implicit_reducible]
Equations
- Coxeter.instPartialOrder_coxeter = { toLE := Coxeter.instLE_coxeter, toLT := Coxeter.instLT_coxeter, le_refl := ⋯, le_trans := ⋯, lt_iff_le_not_ge := ⋯, le_antisymm := ⋯ }
theorem
Coxeter.eq_of_le_of_length_eq
{W : Type u_1}
[CoxeterGroup W]
{u w : W}
(h : u ≤ w)
(h2 : CoxeterGroup.cs.length u = CoxeterGroup.cs.length w)
:
@[implicit_reducible]
Equations
- Coxeter.instOrderBot_coxeter = { bot := 1, bot_le := ⋯ }
theorem
Coxeter.lt_reflection_mul_iff
{W : Type u_1}
[CoxeterGroup W]
{t : W}
(ht : CoxeterGroup.cs.IsReflection t)
(w : W)
:
theorem
Coxeter.reflection_mul_lt_iff
{W : Type u_1}
[CoxeterGroup W]
{t : W}
(ht : CoxeterGroup.cs.IsReflection t)
(w : W)
:
theorem
Coxeter.lt_mul_reflection_iff
{W : Type u_1}
[CoxeterGroup W]
{t : W}
(ht : CoxeterGroup.cs.IsReflection t)
(w : W)
:
theorem
Coxeter.mul_reflection_lt_iff
{W : Type u_1}
[CoxeterGroup W]
{t : W}
(ht : CoxeterGroup.cs.IsReflection t)
(w : W)
:
theorem
Coxeter.mul_reflection_lt_or_gt
{W : Type u_1}
[CoxeterGroup W]
(w : W)
{t : W}
(ht : CoxeterGroup.cs.IsReflection t)
:
theorem
Coxeter.reduced_subword_extend
{W : Type u_1}
[CoxeterGroup W]
{u w : W}
(ω : ReducedWord w)
(h1 : u ≠ w)
(h2 : ∃ (μ : ReducedWord u), (↑μ).Sublist ↑ω)
:
∃ v > u, CoxeterGroup.cs.length v = CoxeterGroup.cs.length u + 1 ∧ ∃ (ν : ReducedWord v), (↑ν).Sublist ↑ω
Bjorner--Brenti Lemma 2.2.1
theorem
Coxeter.exists_reduced_subword_of_le
{W : Type u_1}
[CoxeterGroup W]
{u w : W}
(ω : ReducedWord w)
(h : u ≤ w)
:
∃ (μ : ReducedWord u), (↑μ).Sublist ↑ω
theorem
Coxeter.le_of_reduced_subword
{W : Type u_1}
[CoxeterGroup W]
{u w : W}
(μ : ReducedWord u)
(ω : ReducedWord w)
(h : (↑μ).Sublist ↑ω)
:
theorem
Coxeter.subword_property
{W : Type u_1}
[CoxeterGroup W]
(u : W)
{w : W}
(ω : ReducedWord w)
:
Bjorner--Brenti Theorem 2.2.2
@[implicit_reducible]
Bjorner--Brenti Corollary 2.2.4
Bjorner--Brenti Corollary 2.2.5
Bjorner--Brenti Theorem 2.2.6
@[implicit_reducible]
Equations
- Coxeter.instGradeMinOrderNat_coxeter = { grade := Coxeter.CoxeterGroup.cs.length, grade_strictMono := ⋯, covBy_grade := ⋯, isMin_grade := ⋯ }
theorem
Coxeter.lifting_property
{W : Type u_1}
[CoxeterGroup W]
{u w : W}
{i : CoxeterGroup.B W}
(h1 : u ≤ w)
(h2 : CoxeterGroup.cs.IsLeftDescent w i)
(h3 : ¬CoxeterGroup.cs.IsLeftDescent u i)
:
Bjorner--Brenti Proposition 2.2.7
theorem
Coxeter.local_configuration
{W : Type u_1}
[CoxeterGroup W]
{i : CoxeterGroup.B W}
{t w : W}
(h : CoxeterGroup.cs.simple i ≠ t)
(h2 : w ⋖ CoxeterGroup.cs.simple i * w)
(h3 : w ⋖ t * w)
:
CoxeterGroup.cs.simple i * w ⋖ CoxeterGroup.cs.simple i * t * w ∧ t * w ⋖ CoxeterGroup.cs.simple i * t * w
Bjorner--Brenti Corollary 2.2.8 (i)
theorem
Coxeter.local_configuration₂
{W : Type u_1}
[CoxeterGroup W]
{i i' : CoxeterGroup.B W}
{w : W}
(h : w ⋖ CoxeterGroup.cs.simple i * w)
(h2 : w ⋖ w * CoxeterGroup.cs.simple i')
:
CoxeterGroup.cs.simple i * w ⋖ CoxeterGroup.cs.simple i * w * CoxeterGroup.cs.simple i' ∧ w * CoxeterGroup.cs.simple i' ⋖ CoxeterGroup.cs.simple i * w * CoxeterGroup.cs.simple i' ∨ w = CoxeterGroup.cs.simple i * w * CoxeterGroup.cs.simple i'
Bjorner--Brenti Corollary 2.2.8 (ii)
Bjorner--Brenti Proposition 2.2.9
Bruhat order on finite Coxeter groups #
instance
Coxeter.instFiniteOfOrderTop_coxeter
{W : Type u_1}
[CoxeterGroup W]
[OrderTop W]
:
Finite W
theorem
Coxeter.finite_of_exists_all_isLeftDescent
{W : Type u_1}
[CoxeterGroup W]
{x : W}
(h : ∀ (i : CoxeterGroup.B W), CoxeterGroup.cs.IsLeftDescent x i)
:
Finite W
Bjorner--Brenti Proposition 2.3.1 (ii)
Equations
Instances For
@[implicit_reducible]
noncomputable instance
Coxeter.instOrderTop_coxeter
{W : Type u_1}
[CoxeterGroup W]
[Finite W]
:
OrderTop W
Bjorner--Brenti Proposition 2.3.1 (i)
Equations
- Coxeter.instOrderTop_coxeter = { top := Coxeter.w₀, le_top := ⋯ }
Bjorner--Brenti Proposition 2.3.1 (ii) continued
theorem
Coxeter.eq_w₀_of_length_ge
{W : Type u_1}
[CoxeterGroup W]
[Finite W]
{x : W}
(h : CoxeterGroup.cs.length x ≥ CoxeterGroup.cs.length w₀)
:
@[simp]
Bjorner--Brenti Proposition 2.3.2 (i)
Bjorner--Brenti Proposition 2.3.2 (ii)
theorem
Coxeter.isLeftInversion_mul_w₀_iff
{W : Type u_1}
[CoxeterGroup W]
[Finite W]
{t : W}
(ht : CoxeterGroup.cs.IsReflection t)
(w : W)
:
Bjorner--Brenti Proposition 2.3.2 (iii)
instance
Coxeter.instFiniteReflectionSet
{W : Type u_1}
[CoxeterGroup W]
[Finite W]
:
Finite (ReflectionSet W)
Bjorner--Brenti Proposition 2.3.2 (iv)
Bjorner--Brenti Corollary 2.3.3 (i)
Bjorner--Brenti Corollary 2.3.3 (ii)
Bjorner--Brenti Proposition 2.3.4 (ii)