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.
The full level N congruence subgroup of SL(2, ℤ) of matrices that reduce to the identity
modulo N.
Equations
Instances For
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
The group homomorphism from CongruenceSubgroup.Gamma0 to ZMod N given by
mapping a matrix to its lower right-hand entry.
Equations
- CongruenceSubgroup.Gamma0Map N = { toFun := fun (g : { x : Matrix.SpecialLinearGroup (Fin 2) ℤ // x ∈ CongruenceSubgroup.Gamma0 N }) => ↑(↑↑g 1 1), map_one' := ⋯, map_mul' := ⋯ }
Instances For
The congruence subgroup Gamma1 (as a subgroup of Gamma0) of matrices whose bottom
row is congruent to (0,1) modulo N.
Equations
Instances For
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
A congruence subgroup is a subgroup of SL(2, ℤ) which contains some Gamma N for some
(N : ℕ+).
Equations
- CongruenceSubgroup.IsCongruenceSubgroup Γ = ∃ (N : ℕ+), CongruenceSubgroup.Gamma ↑N ≤ Γ