Documentation

Coxeter.GeometricRepresentation

Geometric representation of Coxeter groups #

This file defines the geometric representation of a Coxeter group.

Main definitions #

Main statements #

TODO #

References #

@[reducible, inline]
abbrev Coxeter.V (W : Type u_1) [CoxeterGroup W] :
Type u_2
Equations
Instances For
    @[simp]
    theorem Coxeter.bil_eq {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) :
    @[simp]
    theorem Coxeter.bil_diag {W : Type u_1} [CoxeterGroup W] (i : CoxeterGroup.B W) :
    (bil (stdBasis i)) (stdBasis i) = 1
    theorem Coxeter.bil_off_diag_le {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) (h : i ≠ i') :
    (bil (stdBasis i)) (stdBasis i') ≤ 0
    noncomputable def Coxeter.geomRepAux {W : Type u_1} [CoxeterGroup W] (i : CoxeterGroup.B W) :
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Coxeter.geomRepAux_apply {W : Type u_1} [CoxeterGroup W] (i : CoxeterGroup.B W) (x : V W) :
      (geomRepAux i) x = x - (2 * (bil (stdBasis i)) x) • stdBasis i
      def Coxeter.E {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) :
      Equations
      Instances For
        theorem Coxeter.mem_E_iff {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) (v : V W) :
        v ∈ E i i' ↔ ∃ (x : ℝ) (y : ℝ), v = x • stdBasis i + y • stdBasis i'
        theorem Coxeter.E_symm {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) :
        E i i' = E i' i
        theorem Coxeter.bil_restrict_E_diag {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) (x y : ℝ) :
        (bil (x • stdBasis i + y • stdBasis i')) (x • stdBasis i + y • stdBasis i') = (x - y * Real.cos (Real.pi / ↑(CoxeterGroup.M.M i i'))) ^ 2 + (y * Real.sin (Real.pi / ↑(CoxeterGroup.M.M i i'))) ^ 2

        Bourbaki Ch V, §4, Proposition 1

        Bourbaki Ch V, §4, Proposition 1 (continued)

        theorem Coxeter.geomRepAux_E_perp_right {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) (z : V W) :
        theorem Coxeter.geomRepAux_E_left {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) :
        Set.MapsTo ⇑(geomRepAux i) ↑(E i i') ↑(E i i')
        theorem Coxeter.geomRepAux_E_right {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) :
        Set.MapsTo ⇑(geomRepAux i') ↑(E i i') ↑(E i i')
        theorem Coxeter.geomRepAux_E_2 {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) :
        Set.MapsTo ⇑(geomRepAux i * geomRepAux i') ↑(E i i') ↑(E i i')
        theorem Coxeter.index_ne {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) [Fact (CoxeterGroup.M.M i i' ≥ 2)] :
        i ≠ i'
        noncomputable def Coxeter.e {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) [Fact (CoxeterGroup.M.M i i' ≥ 2)] :
        ↑{i, i'} ≃ Fin 2
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          noncomputable def Coxeter.stdBasisE {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) [Fact (CoxeterGroup.M.M i i' ≥ 2)] :
          Module.Basis (Fin 2) ℝ ↥(E i i')
          Equations
          Instances For
            @[simp]
            theorem Coxeter.stdBasisE_0 {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) [Fact (CoxeterGroup.M.M i i' ≥ 2)] :
            ↑((stdBasisE i i') 0) = stdBasis i
            @[simp]
            theorem Coxeter.stdBasisE_1 {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) [Fact (CoxeterGroup.M.M i i' ≥ 2)] :
            ↑((stdBasisE i i') 1) = stdBasis i'
            theorem Coxeter.finrank_E_eq_two {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) [Fact (CoxeterGroup.M.M i i' ≥ 2)] :
            Module.finrank ℝ ↥(E i i') = 2
            @[instance_reducible]
            Equations
            • One or more equations did not get rendered due to their size.
            @[instance_reducible]
            Equations
            @[simp]
            theorem Coxeter.norm_stdBasisE_0 {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) [Fact (CoxeterGroup.M.M i i' ≥ 2)] :
            ‖(stdBasisE i i') 0‖ = 1
            @[simp]
            theorem Coxeter.norm_stdBasisE_1 {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) [Fact (CoxeterGroup.M.M i i' ≥ 2)] :
            ‖(stdBasisE i i') 1‖ = 1
            @[simp]
            theorem Coxeter.inner_stdBasisE_0_1 {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) [Fact (CoxeterGroup.M.M i i' ≥ 2)] :
            inner ℝ ((stdBasisE i i') 0) ((stdBasisE i i') 1) = -Real.cos (Real.pi / ↑(CoxeterGroup.M.M i i'))
            theorem Coxeter.oangle_stdBasisE {W : Type u_1} [CoxeterGroup W] (i i' : CoxeterGroup.B W) [Fact (CoxeterGroup.M.M i i' ≥ 2)] :
            ∃ (o : Orientation ℝ (↥(E i i')) (Fin 2)), o.oangle ((stdBasisE i i') 0) ((stdBasisE i i') 1) = ↑(Real.pi - Real.pi / ↑(CoxeterGroup.M.M i i'))
            noncomputable def Coxeter.geomRep {W : Type u_1} [CoxeterGroup W] :

            The geometric representation

            Equations
            Instances For