Build the idea in three steps
- Arithmetic conditions can select subgroups of integer matrices. Different conditions give different congruence subgroups; Γ₀(N) does not require every entry to match the identity modulo N.
- Γ₀(N) — the identifier Gamma0 in Lean — collects exactly the determinant-one integer tables whose bottom-left entry becomes 0 in ZMod N.
- Gamma0Map supplies a numeric readout: it sends each collected table to its bottom-right entry in ZMod N, and multiplication of tables is preserved.
A small example
At level 5, the table with rows (1, 2) and (10, 21) has bottom-left entry 10, a multiple of 5, so it belongs to Γ₀(5).