Documentation

LeanPool.BruhatTits.Graph.Orientation

Orientation on the Bruhat-Tits tree #

The Bruhat-Tits tree admits a natural orientation, by which we mean a partition of the vertices in odd and even, which can be interpreted as a direction on the edges.

We say an R-lattice L is even if the additive valuation of the determinant of an R-basis of L is even. This is independent of the choice of the basis (see BruhatTits.Lattice.zaddVal_det_eq_of_basis) and invariant under homothety (see BruhatTits.Lattice.isEven_smul_of_isEven). A vertex is then even if a (equivalently all) representative is even.

Finally, we define a ±1-valued weight function on the vertices by sending even vertices to 1 and odd vertices to -1. This will be later used to define the harmonic co-chains on the Bruhat-Tits tree (see BruhatTits.Harmonic.Application).

SL₂ action #

While the GL₂ action is transitive, the SL₂ action preserves the orientation, i.e. it preserves evenness of vertices (see BruhatTits.isEven_specialLinearGroup_smul_iff).

noncomputable def BruhatTits.Lattice.valuation {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing R] [IsFractionRing (↥R) K] (L : Lattice R) :

The valuation associated to a lattice is the additive valuation of the determinant of a basis. This is independent of the choice of a basis (see BruhatTits.Lattice.zaddVal_det_eq_of_basis), but not invariant under homothety.

Equations
Instances For
    noncomputable def BruhatTits.Lattice.IsEven {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing R] [IsFractionRing (↥R) K] (L : Lattice R) :

    A lattice is called even, if the determinant of the matrix spanned by a basis has even additive valuation.

    Equations
    Instances For
      noncomputable def BruhatTits.Lattice.IsOdd {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing R] [IsFractionRing (↥R) K] (L : Lattice R) :

      A lattice is called odd, if the determinant of the matrix spanned by a basis has odd additive valuation.

      Equations
      Instances For
        theorem BruhatTits.Lattice.isEven_smul_of_isEven {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing R] [IsFractionRing (↥R) K] {L : Lattice R} (a : Kˣ) (h : L.IsEven) :
        (a L).IsEven
        theorem BruhatTits.Lattice.isEven_smul_iff {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing R] [IsFractionRing (↥R) K] (L : Lattice R) (a : Kˣ) :
        noncomputable def BruhatTits.IsEven {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing R] [IsFractionRing (↥R) K] (x : Vertices R) :

        A vertex ⟦L⟧ is called even, if L is even. This is independent of the choice of L.

        Equations
        Instances For
          noncomputable def BruhatTits.IsOdd {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing R] [IsFractionRing (↥R) K] (x : Vertices R) :

          A vertex ⟦L⟧ is called odd, if L is odd. This is independent of the choice of L.

          Equations
          Instances For
            @[simp]
            theorem BruhatTits.isEven_mk {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing R] [IsFractionRing (↥R) K] (L : Lattice R) :
            noncomputable def BruhatTits.BTweight {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing R] [IsFractionRing (↥R) K] (A : Type u_2) [CommRing A] (x : Vertices R) :

            A canonical weight function on the vertices of the BT tree: Even vertices have weight 1 and odd vertices have weight -1.

            Equations
            Instances For