Documentation

MerLeanBpqc.Definitions.Def_30_UnipotentSubgroupForLPS

Definition 30: Unipotent Subgroup for LPS Graphs #

For the LPS graph X_{p,q} = Cay(PGL(2,q), S_{p,q}), we define the unipotent subgroup H = {[[1,x],[0,1]] | x โˆˆ ๐”ฝ_q} โŠ‚ PGL(2,q), which is isomorphic to (๐”ฝ_q, +) โ‰… โ„ค_q.

Main Definitions #

Main Results #

Unipotent GL elements #

def LPS.unipotentGL (q : โ„•) [Fact (Nat.Prime q)] (x : ZMod q) :
GL (Fin 2) (ZMod q)

The upper triangular unipotent matrix [[1,x],[0,1]] in GL(2, ๐”ฝ_q).

Equations
  • LPS.unipotentGL q x = { val := !![1, x; 0, 1], inv := !![1, -x; 0, 1], val_inv := โ‹ฏ, inv_val := โ‹ฏ }
Instances For
    @[simp]
    theorem LPS.unipotentGL_val (q : โ„•) [Fact (Nat.Prime q)] (x : ZMod q) :
    โ†‘(unipotentGL q x) = !![1, x; 0, 1]
    @[simp]
    theorem LPS.unipotentGL_inv_val (q : โ„•) [Fact (Nat.Prime q)] (x : ZMod q) :
    โ†‘(unipotentGL q x)โปยน = !![1, -x; 0, 1]

    The unipotent map sends 0 to 1.

    theorem LPS.unipotentGL_add (q : โ„•) [Fact (Nat.Prime q)] (a b : ZMod q) :

    The unipotent map sends a + b to unipotentGL a * unipotentGL b.

    def LPS.unipotentPGL (q : โ„•) [Fact (Nat.Prime q)] (x : ZMod q) :

    The unipotent element projected to PGL(2,q).

    Equations
    Instances For

      The map x โ†ฆ [[1,x],[0,1]] as a group homomorphism Multiplicative(ZMod q) โ†’* PGL(2,q).

      Equations
      Instances For

        Injectivity of the unipotent map #

        Two unipotent GL elements that map to the same PGL coset must be equal. If [[1,a],[0,1]] and [[1,b],[0,1]] differ by a scalar in GL, then a = b.

        The unipotent subgroup #

        The unipotent subgroup H = {[[1,x],[0,1]] | x โˆˆ ๐”ฝ_q} โŠ‚ PGL(2,q). Isomorphic to (๐”ฝ_q, +) โ‰… โ„ค_q.

        Equations
        Instances For

          The cardinality of the unipotent subgroup is q.

          theorem LPS.unipotentSubgroup_card_odd (q : โ„•) [Fact (Nat.Prime q)] (hoddq : q % 2 = 1) :

          The order of H is odd (since q is an odd prime).

          Disjointness: S_{p,q} โˆฉ H = โˆ… #

          @[simp]
          theorem LPS.unipotentGL_det (q : โ„•) [Fact (Nat.Prime q)] (x : ZMod q) :
          (โ†‘(unipotentGL q x)).det = 1

          The determinant of a unipotent GL element is 1.

          theorem LPS.lpsMatrixVal_det_eq_p (q : โ„•) [Fact (Nat.Prime q)] (p : โ„•) [Fact (Nat.Prime p)] (hpq : p โ‰  q) (x y : ZMod q) (hxy : x ^ 2 + y ^ 2 + 1 = 0) (t : โ„ค ร— โ„ค ร— โ„ค ร— โ„ค) (ht : t โˆˆ SpTilde p) :
          (lpsMatrixVal q x y t).det = โ†‘p

          The LPS matrix M(a,b,c,d) has determinant aยฒ + bยฒ + cยฒ + dยฒ = p in ZMod q. For (a,b,c,d) โˆˆ Sฬƒ_p, det M = p.

          theorem LPS.tupleToGLElement_det (q : โ„•) [Fact (Nat.Prime q)] (p : โ„•) [Fact (Nat.Prime p)] (hpq : p โ‰  q) (x y : ZMod q) (hxy : x ^ 2 + y ^ 2 + 1 = 0) (t : โ„ค ร— โ„ค ร— โ„ค ร— โ„ค) (ht : t โˆˆ SpTilde p) :
          (โ†‘(tupleToGLElement q p hpq x y hxy t ht)).det = โ†‘p

          The determinant of a tupleToGLElement is p (mod q).

          theorem LPS.unipotentSubgroup_det_is_square (q : โ„•) [Fact (Nat.Prime q)] (g : PGL2 q) (hg : g โˆˆ unipotentSubgroup q) :
          โˆƒ (x : ZMod q), unipotentPGL q x = g

          Key lemma: if g โˆˆ H (unipotent subgroup), then any GL lift of g has determinant that is a perfect square in ๐”ฝ_q^ร—. Specifically, g = projPGL(unipGL(x)) where det(unipGL(x)) = 1 = 1ยฒ.

          theorem LPS.natCast_prime_ne_zero (q : โ„•) [Fact (Nat.Prime q)] (p : โ„•) [Fact (Nat.Prime p)] (hpq : p โ‰  q) :
          โ†‘p โ‰  0

          If p โ‰  q are primes, then (p : ZMod q) โ‰  0.

          theorem LPS.not_isSquare_of_legendreSym_neg_one (q : โ„•) [Fact (Nat.Prime q)] (p : โ„•) [Fact (Nat.Prime p)] (hleg : legendreSym q โ†‘p = -1) :
          ยฌIsSquare โ†‘โ†‘p

          p is not a square in ZMod q when legendreSym q p = -1. Uses ZMod.nonsquare_of_jacobiSym_eq_neg_one via the Legendre-to-Jacobi conversion.

          theorem LPS.lpsGenSet_disjoint_unipotentSubgroup (q : โ„•) [Fact (Nat.Prime q)] (p : โ„•) [Fact (Nat.Prime p)] (hpq : p โ‰  q) (hoddp : p % 2 = 1) (hoddq : q % 2 = 1) (hq_gt : โ†‘q > 2 * โˆšโ†‘p) (x y : ZMod q) (hxy : x ^ 2 + y ^ 2 + 1 = 0) (hleg : legendreSym q โ†‘p = -1) (s : PGL2 q) :
          s โˆˆ (lpsGenSetPGL q p hpq hoddp hoddq hq_gt x y hxy).carrier โ†’ s โˆ‰ unipotentSubgroup q

          The generating set S_{p,q} is disjoint from the unipotent subgroup H. This follows because elements of S_{p,q} have determinant p (not a QR mod q), while elements of H have determinant 1 (a QR). In PGL, two GL elements project to the same class iff they differ by a scalar, so their determinants differ by a perfect square. Since (p/q) = -1, p is not a QR โ€” contradiction.

          theorem LPS.center_GL2_det_isSquare (q : โ„•) [Fact (Nat.Prime q)] (z : GL (Fin 2) (ZMod q)) (hz : z โˆˆ Subgroup.center (GL (Fin 2) (ZMod q))) :
          IsSquare (โ†‘z).det

          Elements of the center of GL(2, ZMod q) are scalar matrices, hence have square det.

          theorem LPS.lpsGenSet_disjoint_conjugate (q : โ„•) [Fact (Nat.Prime q)] (p : โ„•) [Fact (Nat.Prime p)] (hpq : p โ‰  q) (hoddp : p % 2 = 1) (hoddq : q % 2 = 1) (hq_gt : โ†‘q > 2 * โˆšโ†‘p) (x y : ZMod q) (hxy : x ^ 2 + y ^ 2 + 1 = 0) (hleg : legendreSym q โ†‘p = -1) (g s : PGL2 q) (hs : s โˆˆ (lpsGenSetPGL q p hpq hoddp hoddq hq_gt x y hxy).carrier) (h : PGL2 q) (hh : h โˆˆ unipotentSubgroup q) :

          The stronger disjointness: S_{p,q} โˆฉ gHgโปยน = โˆ… for all g โˆˆ PGL(2,q). This follows from the determinant argument: conjugation preserves determinant class, so elements of gHgโปยน still have determinant class 1, while elements of S_{p,q} have determinant class p โ‰  1 mod squares.

          theorem LPS.lpsGenSet_disjoint_conjugate_satisfiable :
          โˆƒ (q : โ„•) (p : โ„•) (_ : Fact (Nat.Prime q)) (_ : Fact (Nat.Prime p)), p โ‰  q โˆง p % 2 = 1 โˆง q % 2 = 1

          Satisfiability: the premises of lpsGenSet_disjoint_conjugate are satisfiable.

          Witness lemmas #