MerLean-example

37 Def 21: LPS Expander Graphs

Definition 453 Projective General Linear Group
#

The projective general linear group \(\operatorname {PGL}(2, q) = \operatorname {GL}(2, \mathbb {F}_q) / Z(\operatorname {GL}(2, \mathbb {F}_q))\) is defined as the quotient of \(\operatorname {GL}(2, \mathbb {Z}/q\mathbb {Z})\) by its center:

\[ \operatorname {PGL}_2(q) \; :=\; \operatorname {GL}(\operatorname {Fin}~ 2,\, \mathbb {Z}/q\mathbb {Z}) \, \big/\, Z\! \left(\operatorname {GL}(\operatorname {Fin}~ 2,\, \mathbb {Z}/q\mathbb {Z})\right). \]
Definition 454 Projective Special Linear Group
#

The projective special linear group \(\operatorname {PSL}(2, q) = \operatorname {SL}(2, \mathbb {F}_q) / Z(\operatorname {SL}(2, \mathbb {F}_q))\) is defined as the quotient of \(\operatorname {SL}(2, \mathbb {Z}/q\mathbb {Z})\) by its center:

\[ \operatorname {PSL}_2(q) \; :=\; \operatorname {SL}(\operatorname {Fin}~ 2,\, \mathbb {Z}/q\mathbb {Z}) \, \big/\, Z\! \left(\operatorname {SL}(\operatorname {Fin}~ 2,\, \mathbb {Z}/q\mathbb {Z})\right). \]
Definition 455 The Set \(\widetilde{S}_p\)
#

For a natural number \(p\), define the set

\[ \widetilde{S}_p \; :=\; \bigl\{ (a,b,c,d) \in \mathbb {Z}^4 \; \big|\; a^2 + b^2 + c^2 + d^2 = p\bigr\} . \]
Definition 456 The Normalized Subset \(S_p\)
#

For an odd prime \(p\) (i.e. \(p \equiv 1\) or \(3 \pmod{4}\)), the normalized subset \(S_p \subseteq \widetilde{S}_p\) is the finite set of integer \(4\)-tuples \((a,b,c,d)\) with \(a^2+b^2+c^2+d^2 = p\) satisfying the normalization condition:

  • If \(p \equiv 1 \pmod{4}\): \(a {\gt} 0\) and \(a\) is odd.

  • If \(p \equiv 3 \pmod{4}\): \(a\) is even and the first nonzero coordinate among \((a,b,c,d)\) is positive.

Concretely, \(S_p\) is obtained by filtering \(\{ -p, \ldots , p\} ^4\) by the predicate \(\operatorname {SpPred}(p)\).

Lemma 457 Every Element of \(S_p\) Lies in \(\widetilde{S}_p\)

For every odd prime \(p\) and every \(t \in S_p\), we have \(t \in \widetilde{S}_p\).

Proof

Let \(t \in S_p\). Unfolding the definition of \(S_p\) as a filter, the first component of the predicate \(\operatorname {SpPred}(p)\) requires precisely that \(t.1^2 + t.2.1^2 + t.2.2.1^2 + t.2.2.2^2 = p\), which is the membership condition for \(\widetilde{S}_p\). Hence \(t \in \widetilde{S}_p\).

Theorem 458 Axiom: Cardinality of \(S_p\)
#

red[UNPROVEN AXIOM]

For every odd prime \(p\),

\[ |S_p| = p + 1. \]

Note: This follows from Jacobi’s four-square theorem: the number of representations of an odd prime \(p\) as a sum of four integer squares is \(r_4(p) = 8(p+1)\), and the normalization conditions select exactly \(p+1\) representatives. Jacobi’s four-square theorem is not available in Mathlib, so this is stated as an axiom.

Lemma 459 \(\widetilde{S}_p\) is Nonempty

For every odd prime \(p\), \(\widetilde{S}_p\) is nonempty.

Proof

By \(\operatorname {Sp_card}\), we have \(|S_p| = p+1 \geq 2 {\gt} 0\), so \(S_p\) is nonempty. Rewriting with the cardinality: if \(S_p\) were empty then \(|S_p| = 0 \neq p+1\) (since \(p \geq 2\)), a contradiction by integer arithmetic. Obtaining \(t \in S_p\), by \(\operatorname {Sp_subset_SpTilde}\), \(t \in \widetilde{S}_p\), so \(\widetilde{S}_p\) is nonempty.

Lemma 460 \(S_p\) is Nonempty

For every odd prime \(p\), \(S_p\) is nonempty.

Proof

Assume for contradiction that \(S_p = \emptyset \). Then \(|S_p| = 0\). But by \(\operatorname {Sp_card}\), \(|S_p| = p+1\). Since \(p \geq 2\), we have \(p+1 \geq 3 {\gt} 0\), contradicting \(|S_p| = 0\) by integer arithmetic.

Definition 461 LPS Matrix \(M(a,b,c,d)\)
#

Given \(x, y \in \mathbb {Z}/q\mathbb {Z}\) and a tuple \(t = (a,b,c,d) \in \mathbb {Z}^4\), the LPS matrix is the \(2 \times 2\) matrix over \(\mathbb {Z}/q\mathbb {Z}\) defined by

\[ M(a,b,c,d) \; :=\; \begin{pmatrix} \iota (a) + \iota (b)x + \iota (d)y & -\iota (b)y + \iota (c) + \iota (d)x \\ -\iota (b)y - \iota (c) + \iota (d)x & \iota (a) - \iota (b)x - \iota (d)y \end{pmatrix}, \]

where \(\iota : \mathbb {Z} \to \mathbb {Z}/q\mathbb {Z}\) denotes the canonical ring homomorphism.

Lemma 462 Determinant of the LPS Matrix
#

For \(x, y \in \mathbb {Z}/q\mathbb {Z}\) with \(x^2 + y^2 + 1 = 0\) and any \(t = (a,b,c,d) \in \mathbb {Z}^4\),

\[ \det M(a,b,c,d) \; =\; \iota (a)^2 + \iota (b)^2 + \iota (c)^2 + \iota (d)^2. \]
Proof

Unfolding the definition of \(M(a,b,c,d)\) and computing the \(2\times 2\) determinant using \(\det \begin{pmatrix} p & q \\ r & s \end{pmatrix} = ps - qr\), the result follows by a linear combination using the hypothesis \(x^2 + y^2 + 1 = 0\): specifically, \(\det M = \iota (a)^2 + \iota (b)^2 + \iota (c)^2 + \iota (d)^2\) after simplification via \(-(\iota (b)^2 + \iota (d)^2)(x^2 + y^2 + 1) = 0\).

Lemma 463 LPS Matrix is Invertible for \((a,b,c,d) \in \widetilde{S}_p\), \(p \neq q\)

For distinct odd primes \(p, q\) and \(x, y \in \mathbb {Z}/q\mathbb {Z}\) with \(x^2 + y^2 + 1 = 0\), if \(t \in \widetilde{S}_p\) then \(\det M(t) \neq 0\).

Proof

By lpsMatrixVal_det, it suffices to show \(\iota (a)^2 + \iota (b)^2 + \iota (c)^2 + \iota (d)^2 \neq 0\) in \(\mathbb {Z}/q\mathbb {Z}\). Since \(t \in \widetilde{S}_p\), we have \(a^2 + b^2 + c^2 + d^2 = p\) in \(\mathbb {Z}\). Applying \(\iota : \mathbb {Z} \to \mathbb {Z}/q\mathbb {Z}\) and using \(\operatorname {push_cast}\), the sum equals \(\iota (p) = (p : \mathbb {Z}/q\mathbb {Z})\). We must show \((p : \mathbb {Z}/q\mathbb {Z}) \neq 0\), i.e. \(q \nmid p\). Since \(p\) and \(q\) are distinct primes, by primality of \(p\): \(q \mid p\) implies \(q = 1\) or \(q = p\), the former contradicting \(q\) prime and the latter contradicting \(p \neq q\).

Definition 464 Conjugate Tuple
#

For \(t = (a,b,c,d) \in \mathbb {Z}^4\), the conjugate tuple is \(\bar{t} := (a, -b, -c, -d)\).

Lemma 465 Conjugate Tuple Lies in \(\widetilde{S}_p\)

If \(t \in \widetilde{S}_p\) then \(\bar{t} \in \widetilde{S}_p\).

Proof

Since \(t \in \widetilde{S}_p\), we have \(a^2 + b^2 + c^2 + d^2 = p\). For \(\bar{t} = (a,-b,-c,-d)\), we compute \(a^2 + (-b)^2 + (-c)^2 + (-d)^2 = a^2 + b^2 + c^2 + d^2 = p\) by the fact that squaring negates signs, which follows by a nonlinear arithmetic argument using \(b^2 \geq 0\).

Lemma 466 LPS Matrix of Conjugate Equals Adjugate

For any \(x, y \in \mathbb {Z}/q\mathbb {Z}\) and \(t \in \mathbb {Z}^4\),

\[ M(\bar{t}) \; =\; \operatorname {adj}(M(t)), \]

where \(\operatorname {adj}\) denotes the matrix adjugate.

Proof

We check equality entry by entry using extensionality. For each of the four entries \((i,j) \in \{ 0,1\} ^2\), unfolding the definitions of \(M(\bar{t})\) (with \((a,-b,-c,-d)\)) and of \(\operatorname {adj}(M(t))\) (using the \(2\times 2\) adjugate formula \(\operatorname {adj}\begin{pmatrix} p & q \\ r & s \end{pmatrix} = \begin{pmatrix} s & -q \\ -r & p \end{pmatrix}\)) and simplifying by ring arithmetic confirms equality.

Lemma 467 LPS Matrix of Conjugate When \(a=0\)

If \(a = t.1 = 0\), then \(M(\bar{t}) = -M(t)\).

Proof

When \(a = 0\), entry-by-entry verification using the definitions of \(M(\bar{t}) = M(0,-b,-c,-d)\) and \(-M(t) = -M(0,b,c,d)\) shows equality via ring arithmetic.

Lemma 468 Conjugate of an Element in \(S_p\) with \(a {\gt} 0\) Stays in \(S_p\)

Let \(p\) be an odd prime, \(t \in S_p\), and suppose \(a = t.1 {\gt} 0\). Then \(\bar{t} \in S_p\).

Proof

We unfold the membership condition for \(S_p\) for both \(t\) and \(\bar{t} = (a,-b,-c,-d)\), obtaining bounds and the predicate \(\operatorname {SpPred}\). The bounds \(-p \leq \pm b, \pm c, \pm d \leq p\) are preserved by negation. For the normalization condition: in both the \(p \equiv 1 \pmod{4}\) and \(p \equiv 3 \pmod{4}\) cases, since \(a {\gt} 0\) is unchanged and is the first coordinate, the condition \(a {\gt} 0\) (and \(a\) odd if \(p \equiv 1\)) is preserved, and \(\operatorname {firstNonzeroPositive}(\bar{t}) = \operatorname {Or.inl}(a {\gt} 0)\) holds.

Definition 469 Canonical Projection to \(\operatorname {PGL}_2(q)\)
#

The canonical group homomorphism \(\pi _{\operatorname {PGL}} : \operatorname {GL}(2, \mathbb {Z}/q\mathbb {Z}) \to \operatorname {PGL}_2(q)\) is the quotient map \(\operatorname {QuotientGroup.mk’}\).

Definition 470 Canonical Projection to \(\operatorname {PSL}_2(q)\)
#

The canonical group homomorphism \(\pi _{\operatorname {PSL}} : \operatorname {SL}(2, \mathbb {Z}/q\mathbb {Z}) \to \operatorname {PSL}_2(q)\) is the quotient map \(\operatorname {QuotientGroup.mk’}\).

Definition 471 Lift Matrix to \(\operatorname {GL}\)
#

For a prime \(q\) and a matrix \(M \in M_2(\mathbb {Z}/q\mathbb {Z})\) with \(\det M \neq 0\), the element \(\operatorname {matToGL}(M) \in \operatorname {GL}(2, \mathbb {Z}/q\mathbb {Z})\) is the unit corresponding to \(M\) (using the fact that invertibility of matrices over a field is equivalent to nonzero determinant).

Definition 472 Map Tuple to \(\operatorname {GL}\) Element

For distinct odd primes \(p, q\), \(x, y \in \mathbb {Z}/q\mathbb {Z}\) with \(x^2 + y^2 + 1 = 0\), and \(t \in \widetilde{S}_p\), define

\[ \operatorname {tupleToGL}(t) \; :=\; \operatorname {matToGL}\! \left(M(t)\right) \; \in \; \operatorname {GL}(2, \mathbb {Z}/q\mathbb {Z}), \]

using \(\det M(t) \neq 0\) from lpsMatrixVal_det_ne_zero.

Lemma 473 LPS Matrix Not in Center of \(\operatorname {GL}\)

Let \(p, q\) be distinct odd primes with \(q {\gt} 2\sqrt{p}\), and let \(x, y \in \mathbb {Z}/q\mathbb {Z}\) satisfy \(x^2 + y^2 + 1 = 0\). For any \(t \in \widetilde{S}_p\), the element \(\operatorname {tupleToGL}(t)\) does not lie in the center \(Z(\operatorname {GL}(2, \mathbb {Z}/q\mathbb {Z}))\).

Proof

Suppose for contradiction that \(M = \operatorname {tupleToGL}(t) \in Z(\operatorname {GL}(2, \mathbb {Z}/q\mathbb {Z}))\), i.e. \(M\) commutes with every element. We construct the elementary matrices \(E_{12} = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix}\) and \(E_{21} = \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix}\) as \(\operatorname {GL}\) elements (their determinants equal \(1 \neq 0\)). From commutativity \(E_{12} M_{\text{mat}} = M_{\text{mat}} E_{12}\): entry \((1,0)\) gives \(M_{10} = 0\) and entries \((0,0),(1,1)\) give \(M_{00} = M_{11}\). From \(E_{21} M_{\text{mat}} = M_{\text{mat}} E_{21}\): entry \((0,1)\) gives \(M_{01} = 0\).

Translating to the LPS matrix entries with \(\iota (b) = \bar{b}\), \(\iota (c) = \bar{c}\), \(\iota (d) = \bar{d}\): the equations yield \(\bar{c} = 0\) (from \(2\bar{c} = 0\) and \(2 \neq 0\) in \(\mathbb {Z}/q\mathbb {Z}\) since \(q\) is odd), \(\bar{d}x = \bar{b}y\), and \(\bar{b}x + \bar{d}y = 0\).

Since \(x^2 + y^2 = -1\), multiplying: \(\bar{b}(x^2+y^2) = 0\) by a linear combination \(-y(\bar{d}x - \bar{b}y) + x(\bar{b}x + \bar{d}y) = 0\), giving \(-\bar{b} = 0\) so \(\bar{b} = 0\). Similarly \(\bar{d} = 0\) (if \(\bar{d} \neq 0\) then both \(x = 0\) and \(y = 0\) from the equations, but then \(x^2 + y^2 = 0 \neq -1\), contradiction).

Now \(b, c, d\) all have \(\mathbb {Z}/q\mathbb {Z}\)-images zero, and each satisfies \(b^2 \leq p\) (from \(a^2 + b^2 + c^2 + d^2 = p\)). Since \(q {\gt} 2\sqrt{p}\), the lemma int_eq_zero_of_zmod_eq_zero_of_sq_le implies \(b = c = d = 0\) in \(\mathbb {Z}\). Then \(a^2 = p\), contradicting the fact that no prime is a perfect square (Nat.Prime.not_perfect_square).

Lemma 474 Projection of Conjugate Equals Inverse in \(\operatorname {PGL}\)

For distinct odd primes \(p, q\), \(x, y\) with \(x^2+y^2+1=0\), and \(t \in \widetilde{S}_p\):

\[ \pi _{\operatorname {PGL}}(\operatorname {tupleToGL}(\bar{t})) \; =\; \pi _{\operatorname {PGL}}(\operatorname {tupleToGL}(t))^{-1}. \]
Proof

It suffices to show \(\pi _{\operatorname {PGL}}(g \cdot g') = 1\) where \(g = \operatorname {tupleToGL}(t)\) and \(g' = \operatorname {tupleToGL}(\bar{t})\). We compute \(g \cdot g'\) using \(g'.{\rm val} = \operatorname {adj}(g.{\rm val})\) (from lpsMatrixVal_negConj): \(g.{\rm val} \cdot g'.{\rm val} = M(t) \cdot \operatorname {adj}(M(t)) = \det (M(t)) \cdot I\). Thus \(g \cdot g'\) is a scalar matrix \(\det (M(t)) \cdot I\). A scalar matrix lies in the center of \(\operatorname {GL}(2, \mathbb {Z}/q\mathbb {Z})\), so it maps to \(1 \in \operatorname {PGL}_2(q)\) via \(\pi _{\operatorname {PGL}} = \operatorname {QuotientGroup.mk’}\).

Lemma 475 Projection of Conjugate Equals Self When \(a = 0\) in \(\operatorname {PGL}\)

If \(t \in \widetilde{S}_p\) and \(a = t.1 = 0\), then

\[ \pi _{\operatorname {PGL}}(\operatorname {tupleToGL}(\bar{t})) \; =\; \pi _{\operatorname {PGL}}(\operatorname {tupleToGL}(t)). \]
Proof

Let \(g = \operatorname {tupleToGL}(t)\) and \(g' = \operatorname {tupleToGL}(\bar{t})\). We show \(\pi _{\operatorname {PGL}}(g') = \pi _{\operatorname {PGL}}(g)\), equivalently \(g^{\prime -1} g \in Z(\operatorname {GL}(2, \mathbb {Z}/q\mathbb {Z}))\). Since \(a = 0\), by lpsMatrixVal_negConj_zero_fst, \(g'.{\rm val} = -g.{\rm val}\). We compute \((g^{\prime -1} g).{\rm val}\): from \((-g.{\rm val})(g^{\prime -1}.{\rm val} \cdot g.{\rm val}) = g.{\rm val}\) (using \(g' \cdot g^{\prime -1} = 1\)), it follows that \(g.{\rm val} \cdot (g^{\prime -1}.{\rm val} \cdot g.{\rm val}) = -g.{\rm val}\). Multiplying on the left by \(g^{-1}.{\rm val}\) and using \(g^{-1} \cdot g = 1\), we get \((g^{\prime -1}g).{\rm val} = -(1)\). Since \(-I\) commutes with every matrix, \(g^{\prime -1}g \in Z(\operatorname {GL}(2, \mathbb {Z}/q\mathbb {Z}))\).

Lemma 476 \(S_p\) Elements Have Nonnegative First Coordinate
#

For every odd prime \(p\) and \(t \in S_p\), we have \(t.1 \geq 0\).

Proof

Unfolding the filter condition for \(S_p\): in the case \(p \equiv 1 \pmod{4}\), the predicate requires \(a {\gt} 0\), so \(a \geq 0\). In the case \(p \equiv 3 \pmod{4}\), the predicate requires \(\operatorname {firstNonzeroPositive}(t)\), which by case analysis gives either \(a {\gt} 0\) (so \(a \geq 0\)), or \(a = 0\) (so \(a \geq 0\)) in all remaining cases.

Definition 477 LPS Generating Set in \(\operatorname {PGL}_2(q)\)

For distinct odd primes \(p, q\) with \(q {\gt} 2\sqrt{p}\) and \(x, y \in \mathbb {Z}/q\mathbb {Z}\) with \(x^2+y^2+1=0\), the LPS generating set in \(\operatorname {PGL}_2(q)\) is the symmetric generating set

\[ S_{p,q}^{\operatorname {PGL}} \; :=\; \bigl\{ \pi _{\operatorname {PGL}}(\operatorname {tupleToGL}(t)) \; \big|\; t \in S_p\bigr\} \; \subseteq \; \operatorname {PGL}_2(q). \]

This is a SymmGenSet (i.e. closed under inverses and not containing the identity), verified by:

  • \(1 \notin S_{p,q}^{\operatorname {PGL}}\): If \(\pi _{\operatorname {PGL}}(\operatorname {tupleToGL}(t)) = 1\), then \(\operatorname {tupleToGL}(t) \in Z(\operatorname {GL})\), contradicting lpsMatrix_not_in_center.

  • Closure under inverses: For \(t \in S_p\) with \(a {\gt} 0\), use \(\bar{t} \in S_p\) and \(\pi _{\operatorname {PGL}}(\operatorname {tupleToGL}(\bar{t})) = \pi _{\operatorname {PGL}}(\operatorname {tupleToGL}(t))^{-1}\). For \(a = 0\), the element is its own inverse.

Definition 478 Scale Matrix to \(\operatorname {SL}\)
#

For a prime \(q\), a matrix \(M \in M_2(\mathbb {Z}/q\mathbb {Z})\), and \(r \in \mathbb {Z}/q\mathbb {Z}\) with \(r \neq 0\) and \(r^2 = \det M\), define

\[ \operatorname {matToSL}(M, r) \; :=\; r^{-1} M \; \in \; \operatorname {SL}(2, \mathbb {Z}/q\mathbb {Z}). \]

This has determinant \(1\) since \(\det (r^{-1} M) = (r^{-1})^2 \det M = r^{-2} r^2 = 1\).

Definition 479 Legendre Symbol Square Root
#

For distinct odd primes \(p, q\) with Legendre symbol \(\left(\frac{p}{q}\right) = 1\), the element \(\operatorname {legendreSqrt}(q, p) \in \mathbb {Z}/q\mathbb {Z}\) is the square root of \(p\) in \(\mathbb {Z}/q\mathbb {Z}\), obtained via ZMod.isSquare_of_jacobiSym_eq_one.

Lemma 480 Legendre Square Root Satisfies \(r^2 = p\)
#

\(\operatorname {legendreSqrt}(q,p)^2 = (p : \mathbb {Z}/q\mathbb {Z})\).

Proof

By the defining property of legendreSqrt via ZMod.isSquare_of_jacobiSym_eq_one.choose_spec, the chosen element \(r\) satisfies \(r \cdot r = (p : \mathbb {Z}/q\mathbb {Z})\), which equals \(r^2\) by definition of squaring.

Lemma 481 Legendre Square Root is Nonzero

\(\operatorname {legendreSqrt}(q,p) \neq 0\).

Proof

Suppose \(r = 0\). Then \(r^2 = 0\). But by legendreSqrt_sq, \(r^2 = (p : \mathbb {Z}/q\mathbb {Z})\). So \((p : \mathbb {Z}/q\mathbb {Z}) = 0\), meaning \(q \mid p\). Since \(p, q\) are distinct primes, by primality of \(p\): either \(q = 1\) (contradicting \(q\) prime) or \(q = p\) (contradicting \(p \neq q\)). Contradiction.

Definition 482 Map Tuple to \(\operatorname {SL}\) Element

For distinct odd primes \(p, q\) with \(\left(\frac{p}{q}\right) = 1\), \(x, y \in \mathbb {Z}/q\mathbb {Z}\) with \(x^2+y^2+1=0\), and \(t \in \widetilde{S}_p\), define

\[ \operatorname {tupleToSL}(t) \; :=\; \operatorname {matToSL}\! \left(M(t),\, r\right) \; =\; r^{-1} M(t) \; \in \; \operatorname {SL}(2, \mathbb {Z}/q\mathbb {Z}), \]

where \(r = \operatorname {legendreSqrt}(q,p)\) satisfies \(r^2 = \det M(t) = (p : \mathbb {Z}/q\mathbb {Z})\).

Lemma 483 \(\operatorname {tupleToSL}(\bar{t}) \cdot \operatorname {tupleToSL}(t) = 1\)

For \(t \in \widetilde{S}_p\):

\[ \operatorname {tupleToSL}(\bar{t}) \cdot \operatorname {tupleToSL}(t) \; =\; 1 \; \in \; \operatorname {SL}(2, \mathbb {Z}/q\mathbb {Z}). \]
Proof

By definition, \(\operatorname {tupleToSL}(\bar{t}).{\rm val} = r^{-1} \operatorname {adj}(M(t))\) (using lpsMatrixVal_negConj) and \(\operatorname {tupleToSL}(t).{\rm val} = r^{-1} M(t)\). Their product is \(r^{-1} \operatorname {adj}(M(t)) \cdot r^{-1} M(t) = r^{-1} r^{-1} (\operatorname {adj}(M(t)) \cdot M(t)) = r^{-2} \det (M(t)) \cdot I\). By legendreSqrt_sq, \(\det M(t) = r^2\). So the product equals \(r^{-2} r^2 \cdot I = I\). Setting \(r^{-1} \cdot r^{-1} \cdot r^2 = (r^{-1} \cdot r^{-1} \cdot r) \cdot r = r^{-1} \cdot 1 \cdot r = 1\) by repeated use of \(r^{-1} \cdot r = 1\).

Lemma 484 Projection of Conjugate Equals Self When \(a = 0\) in \(\operatorname {PSL}\)

If \(t \in \widetilde{S}_p\) and \(a = t.1 = 0\), then

\[ \pi _{\operatorname {PSL}}(\operatorname {tupleToSL}(\bar{t})) \; =\; \pi _{\operatorname {PSL}}(\operatorname {tupleToSL}(t)). \]
Proof

Let \(\operatorname {nc} = \operatorname {tupleToSL}(\bar{t})\) and \(\operatorname {tt} = \operatorname {tupleToSL}(t)\). We show \(\operatorname {nc}^{-1} \cdot \operatorname {tt} \in Z(\operatorname {SL}(2, \mathbb {Z}/q\mathbb {Z}))\).

By tupleToSL_negConj_mul_self_eq_one, \(\operatorname {nc} \cdot \operatorname {tt} = 1\), so \(\operatorname {nc}^{-1} = \operatorname {tt}\), hence \(\operatorname {nc}^{-1} \cdot \operatorname {tt} = \operatorname {tt}^2\).

We compute \((\operatorname {tt}^2).{\rm val}\): since \(\operatorname {tt}.{\rm val} = r^{-1} M(t)\), we get \((\operatorname {tt}^2).{\rm val} = r^{-2} M(t)^2\). Since \(a = 0\), \(\operatorname {adj}(M(t)) = -M(t)\) by lpsMatrixVal_negConj_zero_fst, so \(M(t)^2 = -\det (M(t)) \cdot I\). Using \(\det (M(t)) = r^2\): \((\operatorname {tt}^2).{\rm val} = r^{-2} \cdot (-r^2 \cdot I) = -I\).

Since \(-I\) commutes with every matrix (as \((-I)g = g(-I)\) for all \(g\)), \(\operatorname {tt}^2 \in Z(\operatorname {SL}(2, \mathbb {Z}/q\mathbb {Z}))\), completing the proof.

Definition 485 LPS Generating Set in \(\operatorname {PSL}_2(q)\)

For distinct odd primes \(p, q\) with \(q {\gt} 2\sqrt{p}\) and \(\left(\frac{p}{q}\right) = 1\), and \(x, y \in \mathbb {Z}/q\mathbb {Z}\) with \(x^2+y^2+1=0\), the LPS generating set in \(\operatorname {PSL}_2(q)\) is the symmetric generating set

\[ S_{p,q}^{\operatorname {PSL}} \; :=\; \bigl\{ \pi _{\operatorname {PSL}}(\operatorname {tupleToSL}(t)) \; \big|\; t \in S_p\bigr\} \; \subseteq \; \operatorname {PSL}_2(q). \]

This is a SymmGenSet, verified by the same argument as for \(\operatorname {PGL}_2(q)\) but using the \(\operatorname {SL}\) variants of the matrix lemmas.

Theorem 486 Axiom: Cardinality of LPS Generating Set in \(\operatorname {PGL}\)
#

red[UNPROVEN AXIOM]

\(|S_{p,q}^{\operatorname {PGL}}| = p + 1\).

Note: The injectivity of the map \(S_p \to \operatorname {PGL}_2(q)\) (distinct tuples give distinct projective classes) requires deep number-theoretic arguments about quaternion arithmetic modulo \(q\). Together with \(|S_p| = p+1\), this gives \(|S_{p,q}^{\operatorname {PGL}}| = p+1\). This is stated as an axiom because the required infrastructure is not available in Mathlib.

Theorem 487 Axiom: Cardinality of LPS Generating Set in \(\operatorname {PSL}\)
#

red[UNPROVEN AXIOM]

\(|S_{p,q}^{\operatorname {PSL}}| = p + 1\).

Note: As with \(\operatorname {PGL}\), the injectivity of \(S_p \to \operatorname {PSL}_2(q)\) via scaled matrices requires the same quaternion-arithmetic arguments. This is stated as an axiom.

Theorem 488 Axiom: \(S_{p,q}\) Generates \(\operatorname {PGL}_2(q)\)
#

red[UNPROVEN AXIOM]

The subgroup generated by \(S_{p,q}^{\operatorname {PGL}}\) equals all of \(\operatorname {PGL}_2(q)\):

\[ \langle S_{p,q}^{\operatorname {PGL}} \rangle \; =\; \operatorname {PGL}_2(q). \]

Note: This deep result follows from the strong approximation theorem for quaternion algebras (Lubotzky–Phillips–Sarnak), which is far beyond current Mathlib infrastructure.

Theorem 489 Axiom: \(S_{p,q}\) Generates \(\operatorname {PSL}_2(q)\)
#

red[UNPROVEN AXIOM]

The subgroup generated by \(S_{p,q}^{\operatorname {PSL}}\) equals all of \(\operatorname {PSL}_2(q)\):

\[ \langle S_{p,q}^{\operatorname {PSL}} \rangle \; =\; \operatorname {PSL}_2(q). \]

Note: Follows from the same strong approximation theorem for quaternion algebras (Lubotzky–Phillips–Sarnak).

Definition 490 LPS Graph on \(\operatorname {PGL}_2(q)\)

The LPS graph on \(\operatorname {PGL}_2(q)\) is the Cayley graph

\[ \operatorname {Cay}(\operatorname {PGL}_2(q),\, S_{p,q}^{\operatorname {PGL}}) \; :=\; \operatorname {cayleyGraph}(S_{p,q}^{\operatorname {PGL}}). \]

When \(\left(\frac{p}{q}\right) = -1\) (i.e. the Legendre symbol is \(-1\)), this is the LPS expander graph on the group \(\operatorname {PGL}_2(q)\).

Definition 491 LPS Graph on \(\operatorname {PSL}_2(q)\)

The LPS graph on \(\operatorname {PSL}_2(q)\) is the Cayley graph

\[ \operatorname {Cay}(\operatorname {PSL}_2(q),\, S_{p,q}^{\operatorname {PSL}}) \; :=\; \operatorname {cayleyGraph}(S_{p,q}^{\operatorname {PSL}}). \]

When \(\left(\frac{p}{q}\right) = 1\) (i.e. the Legendre symbol is \(1\)), this is the LPS expander graph on the group \(\operatorname {PSL}_2(q)\).

Theorem 492 LPS Graph on \(\operatorname {PGL}\) is \((p+1)\)-Regular

The LPS graph \(\operatorname {Cay}(\operatorname {PGL}_2(q), S_{p,q}^{\operatorname {PGL}})\) is \((p+1)\)-regular: every vertex has exactly \(p+1\) neighbors.

Proof

By cayleyGraph_isRegularOfDegree, the Cayley graph \(\operatorname {cayleyGraph}(S)\) is \(|S|\)-regular for any symmetric generating set \(S\). Applying this to \(S = S_{p,q}^{\operatorname {PGL}}\) and rewriting with lpsGenSetPGL_card (which gives \(|S_{p,q}^{\operatorname {PGL}}| = p+1\)), we obtain the \((p+1)\)-regularity.

Theorem 493 LPS Graph on \(\operatorname {PSL}\) is \((p+1)\)-Regular

The LPS graph \(\operatorname {Cay}(\operatorname {PSL}_2(q), S_{p,q}^{\operatorname {PSL}})\) is \((p+1)\)-regular.

Proof

By cayleyGraph_isRegularOfDegree, applying it to \(S = S_{p,q}^{\operatorname {PSL}}\) and rewriting with lpsGenSetPSL_card (giving \(|S_{p,q}^{\operatorname {PSL}}| = p+1\)) yields \((p+1)\)-regularity.

Theorem 494 Axiom: Independence of \((x,y)\) for \(\operatorname {PGL}\) LPS Graph
#

red[UNPROVEN AXIOM]

For any two pairs \((x_1, y_1)\) and \((x_2, y_2)\) in \(\mathbb {Z}/q\mathbb {Z}\) both satisfying \(x_i^2 + y_i^2 + 1 = 0\), the LPS graphs \(\operatorname {Cay}(\operatorname {PGL}_2(q), S_{p,q}^{\operatorname {PGL}}(x_1,y_1))\) and \(\operatorname {Cay}(\operatorname {PGL}_2(q), S_{p,q}^{\operatorname {PGL}}(x_2,y_2))\) are isomorphic as simple graphs.

Note: The proof requires constructing an explicit element of the orthogonal group of the norm form \(x^2 + y^2 + 1\) over \(\mathbb {F}_q\), conjugating one quaternion embedding to the other. This algebraic infrastructure is not available in Mathlib.

Theorem 495 Axiom: Independence of \((x,y)\) for \(\operatorname {PSL}\) LPS Graph
#

red[UNPROVEN AXIOM]

For any two pairs \((x_1, y_1)\) and \((x_2, y_2)\) in \(\mathbb {Z}/q\mathbb {Z}\) both satisfying \(x_i^2 + y_i^2 + 1 = 0\), the LPS graphs \(\operatorname {Cay}(\operatorname {PSL}_2(q), S_{p,q}^{\operatorname {PSL}}(x_1,y_1))\) and \(\operatorname {Cay}(\operatorname {PSL}_2(q), S_{p,q}^{\operatorname {PSL}}(x_2,y_2))\) are isomorphic as simple graphs.

Note: The conjugation by \(g \in \operatorname {GL}(2, \mathbb {F}_q)\) preserves \(\operatorname {SL}(2, \mathbb {F}_q)\) up to scaling, hence descends to \(\operatorname {PSL}_2(q)\). Requires the same orthogonal group infrastructure as the \(\operatorname {PGL}\) case.