Documentation

LeanPool.BruhatTits.Graph.GroupAction

Group actions on the Bruhat-Tits graph #

In this file we equip the Bruhat-Tits graph with group actions of GL₂(K) and compute stabilizers.

Main results #

theorem BruhatTits.isSimilar_smul_of_isSimilar {K : Type u_1} [Field K] {R : Subring K} (g : GL (Fin 2) K) (L M : Lattice R) (h : Lattice.IsSimilar R L M) :
Lattice.IsSimilar R (g • L) (g • M)
def BruhatTits.smulGL {K : Type u_1} [Field K] {R : Subring K} (g : GL (Fin 2) K) :

The action of GL₂(K) on vertices induced by its action on lattices.

Equations
Instances For
    theorem BruhatTits.smulGL_mk {K : Type u_1} [Field K] {R : Subring K} (g : GL (Fin 2) K) (L : Lattice R) :
    theorem BruhatTits.Vertices.smul_def {K : Type u_1} [Field K] {R : Subring K} (g : GL (Fin 2) K) (x : Vertices R) :
    g • x = smulGL g x
    @[instance_reducible]

    The action of GL₂(K) on vertices.

    Equations

    GL₂(K) acts transitively on the vertices.

    @[simp]
    theorem BruhatTits.inv_smul_smul_eq_inv {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) K] (g : GL (Fin 2) K) (x y : Vertices R) :
    inv (g • x) (g • y) = inv x y
    theorem BruhatTits.adj_smul_smul_iff_adj {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) K] (g : GL (Fin 2) K) (x y : Vertices R) :
    BTgraph.Adj (g • x) (g • y) ↔ BTgraph.Adj x y

    GL₂(K) acts by graph isomorphisms on the Bruhat-Tits tree.

    Equations
    Instances For

      The action of GL₂(K) on the Bruhat-Tits graph.

      theorem BruhatTits.cartanDiag_smul_standard {K : Type u_1} [Field K] {R : Subring K} (ϖ : ↥R) (hϖ : Irreducible ϖ) (f : Fin 2 → ℤ) :
      theorem BruhatTits.pow_smul_range_eq_range_iff {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) K] {ι : Type u_2} [Finite ι] [Nonempty ι] {ϖ : ↥R} (hϖ : Irreducible ϖ) (n : ℤ) :
      ↑ϖ ^ n • Set.range ⇑((Algebra.linearMap (↥R) K).compLeft ι) = Set.range ⇑((Algebra.linearMap (↥R) K).compLeft ι) ↔ n = 0

      The stabilizer of the standard lattice of the GL₂(K)-action on lattices is GL₂(R).

      theorem Matrix.GL.mem_range_map_iff {R : Type u_2} {K : Type u_3} [CommRing R] [CommRing K] (f : R →+* K) (hf : Function.Injective ⇑f) {ι : Type u_4} [Fintype ι] [DecidableEq ι] (g : GL ι K) :
      g ∈ Set.range ⇑(GeneralLinearGroup.map f) ↔ (∀ (i j : ι), ↑g i j ∈ Set.range ⇑f) ∧ ↑(GeneralLinearGroup.det g)⁻¹ ∈ Set.range ⇑f
      theorem BruhatTits.mem_stabilizer_twist_iff_mem {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) K] {ϖ : ↥R} (hϖ : Irreducible ϖ) (g : GL (Fin 2) ↥R) (f : Fin 2 → ℤ) :
      «GL».map R.subtype g ∈ MulAction.stabilizer (GL (Fin 2) K) ((Pi.basisFun K (Fin 2)).twist hϖ f).toLattice ↔ ↑ϖ ^ (f 1 - f 0) * ↑(↑g 0 1) ∈ R ∧ ↑ϖ ^ (f 0 - f 1) * ↑(↑g 1 0) ∈ R
      theorem BruhatTits.mem_stabilizer_twist_iff_exists {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) K] {ϖ : ↥R} (hϖ : Irreducible ϖ) (g : GL (Fin 2) K) (f : Fin 2 → ℤ) :
      g ∈ MulAction.stabilizer (GL (Fin 2) K) ((Pi.basisFun K (Fin 2)).twist hϖ f).toLattice ↔ ∃ (k : GL (Fin 2) ↥R), ↑g 0 0 = ↑(↑k 0 0) ∧ ↑g 1 1 = ↑(↑k 1 1) ∧ ↑g 1 0 = ↑ϖ ^ (f 1 - f 0) * ↑(↑k 1 0) ∧ ↑g 0 1 = ↑ϖ ^ (f 0 - f 1) * ↑(↑k 0 1)

      g in GL₂(K) stabilizes (ϖ ^ n • e₀, ϖ ^ m • e₁) if and only if g is of the form

            a           ϖ ^ (n - m) * b
      ϖ ^ (m - n) * c         d
      

      for some (a b, c d) in GL₂(R).

      theorem BruhatTits.mem_stabilizer_ntwist₂_iff_mem_span {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) K] {ϖ : ↥R} (hϖ : Irreducible ϖ) (n : ℕ) (g : GL (Fin 2) ↥R) :

      g in GL₂(R) is in the stabilizer of (e₀, ϖ ^ n • e₁) if and only if g 1 0 ≡ 0 (mod ϖ ^ n).

      The pointwise stabilizer of the chain of lattices L₀ - L₁ - ... - Lₙ where Lᵢ = (e₀, ϖ ^ n • eᵢ) is the subgroup of matrices in GL₂(R) that are upper triangular modulo ϖ ^ n. We express the stabilizer of the chain as the stabilizer of the function i ↦ Lᵢ. Here GL₂(K) acts pointwise on pi types.

      theorem BruhatTits.stabilizer_fun_mk_eq_sup {K : Type u_1} [Field K] {R : Subring K} [IsDiscreteValuationRing ↥R] [IsFractionRing (↥R) K] {ι : Type u_2} (L : ι → Lattice R) :

      The pointwise stabilizer of the GL₂(K)-action on a family of vertices {⟦Lᵢ⟧}ᵢ is Kˣ * Stab({Lᵢ}). We express the stabilizer of {⟦Lᵢ⟧}ᵢ as the stabilizer of the function i ↦ ⟦Lᵢ⟧. Here GL₂(K) acts pointwise on pi types.

      The stabilizer of the GL₂(K)-action on a vertex ⟦L⟧ is Kˣ * Stab(L).

      The stabilizer of the GL₂(K)-action on the standard vertex is Kˣ * GL₂(R).

      The pointwise stabilizer of GL₂(K) of the segment v₀ - v₁ - ... - vₙ is the subgroup Kˣ * Iₙ where Iₙ is the subgroup of GL₂(R) that is upper triangular modulo ϖ ^ n. Here the vertex vᵢ is the image of the lattice (e₀, ϖ ^ i • e₁). In particular, this shows that the stabilizer of the edge v₀ - v₁ is Kˣ * I₁.