T1 for Atkin–Lehner elements and translations #
S_mem_normalizer': S_k normalizes Γ₀(N) for k ∣ h(N);isAtkinLehner_mem_normalizer': every AL element w_Q (Q ∣ N) normalizes Γ₀(N);exists_isAtkinLehner': AL elements exist for Q ∥ N;isAtkinLehner_mul_inv_mem': two AL elements for Q differ by Γ₀(N).
The AL computations are the identities W γ adj(W) = Q·M₁, adj(W) γ W = Q·M₂, W adj(W') = Q·M₃
with explicit integer matrices Mᵢ (checked symbolically in sympy before being given to ring).
Scalar bookkeeping #
Translations #
Atkin–Lehner elements #
theorem
CongruenceNormalizers.isAtkinLehner_mem_normalizer'
{N Q : ℕ}
[NeZero N]
(hQ : Q ∣ N)
{g : Matrix.SpecialLinearGroup (Fin 2) ℝ}
(hg : IsAtkinLehner N Q g)
:
T1 for Atkin–Lehner elements.
theorem
CongruenceNormalizers.exists_isAtkinLehner'
{N Q : ℕ}
[NeZero N]
(hQ : Q ∣ N)
(hcop : Q.Coprime (N / Q))
:
∃ (g : Matrix.SpecialLinearGroup (Fin 2) ℝ), IsAtkinLehner N Q g
Atkin–Lehner elements exist for Q ∥ N.
theorem
CongruenceNormalizers.isAtkinLehner_mul_inv_mem'
{N Q : ℕ}
[NeZero N]
(hQ : Q ∣ N)
{g g' : Matrix.SpecialLinearGroup (Fin 2) ℝ}
(hg : IsAtkinLehner N Q g)
(hg' : IsAtkinLehner N Q g')
: