Congruence subgroups #
This defines congruence subgroups of SL(2, ℤ)
such as Γ(N)
, Γ₀(N)
and Γ₁(N)
for N
a
natural number.
It also contains basic results about congruence subgroups.
@[simp]
theorem
SL_reduction_mod_hom_val
(N : ℕ)
(γ : Matrix.SpecialLinearGroup (Fin 2) ℤ)
(i : Fin 2)
(j : Fin 2)
:
↑((Matrix.SpecialLinearGroup.map (Int.castRingHom (ZMod N))) γ) i j = ↑(↑γ i j)
The full level N
congruence subgroup of SL(2, ℤ)
of matrices that reduce to the identity
modulo N
.
Equations
Instances For
theorem
CongruenceSubgroup.Gamma_mem'
(N : ℕ)
(γ : Matrix.SpecialLinearGroup (Fin 2) ℤ)
:
γ ∈ CongruenceSubgroup.Gamma N ↔ (Matrix.SpecialLinearGroup.map (Int.castRingHom (ZMod N))) γ = 1
theorem
CongruenceSubgroup.ModularGroup_T_pow_mem_Gamma
(N : ℤ)
(M : ℤ)
(hNM : N ∣ M)
:
ModularGroup.T ^ M ∈ CongruenceSubgroup.Gamma N.natAbs
The congruence subgroup of SL(2, ℤ)
of matrices whose lower left-hand entry reduces to zero
modulo N
.
Equations
- CongruenceSubgroup.Gamma0 N = { carrier := {g : Matrix.SpecialLinearGroup (Fin 2) ℤ | ↑(↑g 1 0) = 0}, mul_mem' := ⋯, one_mem' := ⋯, inv_mem' := ⋯ }
Instances For
@[simp]
theorem
CongruenceSubgroup.Gamma0_mem
(N : ℕ)
(A : Matrix.SpecialLinearGroup (Fin 2) ℤ)
:
A ∈ CongruenceSubgroup.Gamma0 N ↔ ↑(↑A 1 0) = 0
The group homomorphism from Gamma0
to ZMod N
given by mapping a matrix to its lower
right-hand entry.
Equations
- CongruenceSubgroup.Gamma0Map N = { toFun := fun (g : ↥(CongruenceSubgroup.Gamma0 N)) => ↑(↑↑g 1 1), map_one' := ⋯, map_mul' := ⋯ }
Instances For
@[simp]
theorem
CongruenceSubgroup.Gamma1_mem'
(N : ℕ)
(γ : ↥(CongruenceSubgroup.Gamma0 N))
:
γ ∈ CongruenceSubgroup.Gamma1' N ↔ (CongruenceSubgroup.Gamma0Map N) γ = 1
The congruence subgroup Gamma1
of SL(2, ℤ)
consisting of matrices whose bottom
row is congruent to (0,1)
modulo N
.
Equations
- CongruenceSubgroup.Gamma1 N = Subgroup.map ((CongruenceSubgroup.Gamma0 N).subtype.comp (CongruenceSubgroup.Gamma1' N).subtype) ⊤
Instances For
@[simp]
A congruence subgroup is a subgroup of SL(2, ℤ)
which contains some Gamma N
for some
(N : ℕ+)
.
Equations
- CongruenceSubgroup.IsCongruenceSubgroup Γ = ∃ (N : ℕ+), CongruenceSubgroup.Gamma ↑N ≤ Γ
Instances For
theorem
CongruenceSubgroup.isCongruenceSubgroup_trans
(H : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ))
(K : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ))
(h : H ≤ K)
(h2 : CongruenceSubgroup.IsCongruenceSubgroup H)
:
theorem
CongruenceSubgroup.Gamma_cong_eq_self
(N : ℕ)
(g : ConjAct (Matrix.SpecialLinearGroup (Fin 2) ℤ))
:
theorem
CongruenceSubgroup.conj_cong_is_cong
(g : ConjAct (Matrix.SpecialLinearGroup (Fin 2) ℤ))
(Γ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ))
(h : CongruenceSubgroup.IsCongruenceSubgroup Γ)
: