Skip to content
The Lumenary
Research pathwaysResearch orientation (algebraic and analytic number theory, representation theory assumed) 140 min

The Langlands programme: an orientation

How a polynomial factors modulo pp is secretly governed by the Fourier coefficients of a symmetric function on the upper half-plane. A map of one of the great unifying visions of mathematics — what is proved, and what is still a dream.

Formally verified · 14 LeanComputationally tested · 2 PythonAI-drafted · awaiting human reviewMathematically reviewed: Awaiting human review
MotivationH

Three polynomials modulo p

Fix a polynomial with integer coefficients and ask, for each prime pp: how many roots does it have modulo pp?

  1. x2+1x^2 + 1. For odd pp, it has two roots modulo pp when p≡1(mod4)p \equiv 1 \pmod 4 and none when p≡3(mod4)p \equiv 3 \pmod 4. The answer depends only on p mod 4p \bmod 4.

  2. x3−x−1x^3 - x - 1. It has no roots modulo 1313 and three modulo 5959, although 13≡59(mod23)13 \equiv 59 \pmod{23} — and one can show that no congruence condition, to any modulus, decides the number of roots. Yet there is a rule. Expand

    η(z)η(23z)=q∏n≥1(1−qn)(1−q23n)=q−q2−q3+q6+q8−q13−q16+q23−⋯\eta(z)\eta(23z) = q\prod_{n \ge 1}(1 - q^n)(1 - q^{23n}) = q - q^2 - q^3 + q^6 + q^8 - q^{13} - q^{16} + q^{23} - \cdots

    Then for every prime p≠23p \neq 23, the number of roots of x3−x−1x^3 - x - 1 modulo pp is the coefficient of qpq^p plus one. (The coefficient of q13q^{13} is −1-1: no roots. The coefficient of q59q^{59} is 22: three roots.)

  3. y2+y=x3−x2−10x−20y^2 + y = x^3 - x^2 - 10x - 20, an elliptic curve. Let ap=p−#{(x,y) mod p}a_p = p - \#\{(x, y) \bmod p\}. Then apa_p is the coefficient of qpq^p in q∏n≥1(1−qn)2(1−q11n)2q\prod_{n\ge1}(1 - q^n)^2(1 - q^{11n})^2, for every prime pp.

The infinite products are modular forms: holomorphic functions on the upper half-plane with an enormous group of symmetries. That arithmetic data — how polynomials factor mod pp, how many points a curve has mod pp — should be encoded in the Fourier coefficients of such symmetric functions is the heart of the Langlands programme. In a 1967 letter to André Weil, Robert Langlands proposed that this is a universal phenomenon: arithmetic objects (Galois representations) correspond to analytic objects (automorphic representations), with matching LL-functions, and that the analytic objects for different groups are related by a principle of functoriality.

This lesson is a map. It builds on algebraic number theory, analytic number theory and representation theory, and on the companion lesson on elliptic curves.

IntuitionH

Two sides of one dictionary

On the Galois side live the symmetries of algebraic numbers. The absolute Galois group GQ=Gal⁡(Q‾/Q)G_\Q = \operatorname{Gal}(\overline{\Q}/\Q) is a huge profinite group; we study it through its representations ρ:GQ→GLn\rho: G_\Q \to GL_n. For almost every prime pp there is a conjugacy class Frob⁡p\operatorname{Frob}_p in GQG_\Q, and its characteristic polynomial under ρ\rho records how pp behaves — how a polynomial factors mod pp, or how many points a variety has mod pp.

On the automorphic side live functions with symmetry: modular forms, and more generally automorphic forms on GLnGL_n over the adèles. They are eigenfunctions of commuting Hecke operators TpT_p, one for each prime, and the eigenvalues are numbers attached to primes.

Reciprocity says that every (suitable) ρ\rho matches an automorphic π\pi with "Frobenius eigenvalues = Hecke eigenvalues", and conversely. Both sides make LL-functions, and matching means equal LL-functions:

ρ:GQ→GLn\rho : G_{\mathbb{Q}} \to GL_n
π on GLn(AQ)\pi \text{ on } GL_n(\mathbb{A}_{\mathbb{Q}})
L(s)L(s)
reciprocity\text{reciprocity}
L(ρ,s)L(\rho, s)
L(π,s)L(\pi, s)
The two sides of the Langlands correspondence meet in their L-functions: tr⁡ρ(Frob⁡p)\operatorname{tr}\rho(\operatorname{Frob}_p) matches the Hecke eigenvalue of π\pi at pp.

For n=1n = 1 this dictionary is class field theory: one-dimensional Galois representations correspond to Dirichlet characters (and Hecke characters), and the first example above is its simplest case. For n=2n = 2 over Q\Q, example 2 is an instance of Hecke's theory of theta series and example 3 of the work of Eichler and Shimura, now a special case of the modularity theorem. For n≥3n \ge 3 most of the dictionary is conjectural.

Analogy, not a formal construction

Think of a prime pp as a "frequency". The Galois side tells you how an arithmetic object "vibrates" at frequency pp (through Frob⁡p\operatorname{Frob}_p); the automorphic side is a single function whose Fourier coefficients list all these vibrations at once. Reciprocity says such a function always exists. The analogy is informal: the precise statements are about traces of Frobenius and Hecke eigenvalues.

DefinitionsH

Definitions

Definition— Frobenius element

Let L/QL/\Q be a finite Galois extension and pp a prime unramified in LL. For a prime P\mathfrak{P} of LL above pp, the Frobenius element Frob⁡P∈Gal⁡(L/Q)\operatorname{Frob}_{\mathfrak{P}} \in \operatorname{Gal}(L/\Q) is the unique σ\sigma with σ(x)≡xp(modP)\sigma(x) \equiv x^p \pmod{\mathfrak{P}} for all algebraic integers xx of LL; it generates the decomposition group of P\mathfrak{P}. Changing P\mathfrak{P} conjugates it, so pp determines a conjugacy class Frob⁡p\operatorname{Frob}_p. If LL is the splitting field of ff and p∤disc⁡fp \nmid \operatorname{disc} f, the cycle type of Frob⁡p\operatorname{Frob}_p acting on the roots of ff is the list of degrees of the irreducible factors of f mod pf \bmod p.

Definition— Galois representation

A Galois representation of a number field KK is a continuous homomorphism ρ:GK=Gal⁡(K‾/K)→GLn(E)\rho: G_K = \operatorname{Gal}(\overline{K}/K) \to GL_n(E), where EE is a topological field — C\C (Artin representations, which have finite image), or a finite extension of Qℓ\Q_\ell (ℓ\ell-adic representations, such as the Tate module of an elliptic curve). Its LL-function is L(ρ,s)=∏pdet⁡(1−ρ(Frob⁡p)Np−s∣VIp)−1L(\rho, s) = \prod_{\mathfrak{p}} \det\big(1 - \rho(\operatorname{Frob}_{\mathfrak{p}}) N\mathfrak{p}^{-s} \mid V^{I_\mathfrak{p}}\big)^{-1}.

Definition— class field theory

Class field theory describes the abelian extensions of a number field KK in terms of data intrinsic to KK. In idelic form: there is a continuous surjective homomorphism, the Artin map, K×\AK×→Gal⁡(Kab/K)K^\times \backslash \mathbb{A}_K^\times \to \operatorname{Gal}(K^{\mathrm{ab}}/K), sending a uniformiser at an unramified prime p\mathfrak{p} to Frob⁡p\operatorname{Frob}_\mathfrak{p}, whose kernel is the connected component of the identity. Equivalently, finite abelian extensions of KK correspond to open subgroups of finite index of the idèle class group (classically: to subgroups of ray class groups).

Definition— modular forms and cusp forms

For Γ0(N)={(abcd)∈SL2(Z):N∣c}\Gamma_0(N) = \left\{\left(\begin{smallmatrix} a & b \\ c & d \end{smallmatrix}\right) \in SL_2(\Z) : N \mid c\right\}, a modular form of weight kk and level NN is a holomorphic ff on the upper half-plane H\mathbb{H} with

f(az+bcz+d)=(cz+d)kf(z)for all (abcd)∈Γ0(N),f\left(\frac{az + b}{cz + d}\right) = (cz + d)^k f(z) \quad \text{for all } \begin{pmatrix} a & b \\ c & d \end{pmatrix} \in \Gamma_0(N),

that is holomorphic at the cusps. Since z↦z+1z \mapsto z + 1 lies in Γ0(N)\Gamma_0(N), ff has a qq-expansion f=∑n≥0anqnf = \sum_{n \ge 0} a_n q^n, q=e2πizq = e^{2\pi i z}; ff is a cusp form if it vanishes at every cusp (a0=0a_0 = 0 at ∞\infty, and similarly at the other cusps). The spaces Mk(Γ0(N))⊃Sk(Γ0(N))M_k(\Gamma_0(N)) \supset S_k(\Gamma_0(N)) are finite-dimensional. (Weight-one forms with a character, such as η(z)η(23z)\eta(z)\eta(23z), are defined in the same way with a factor χ(d)\chi(d).)

Definition— Hecke operators and eigenforms

For p∤Np \nmid N, the Hecke operator TpT_p acts on Sk(Γ0(N))S_k(\Gamma_0(N)) by

am(Tpf)=amp(f)+pk−1am/p(f)(am/p=0 unless p∣m),a_m(T_p f) = a_{mp}(f) + p^{k-1} a_{m/p}(f) \qquad (a_{m/p} = 0 \text{ unless } p \mid m),

and in general am(Tnf)=∑d∣gcd⁡(m,n), gcd⁡(d,N)=1dk−1amn/d2(f)a_m(T_n f) = \sum_{d \mid \gcd(m, n),\ \gcd(d, N) = 1} d^{k-1} a_{mn/d^2}(f). The TnT_n commute, TmTn=TmnT_mT_n = T_{mn} when gcd⁡(m,n)=1\gcd(m, n) = 1, and Tpr+1=TpTpr−pk−1Tpr−1T_{p^{r+1}} = T_pT_{p^r} - p^{k-1}T_{p^{r-1}} for p∤Np \nmid N. A normalised eigenform is a simultaneous eigenvector with a1=1a_1 = 1; a newform is a normalised eigenform not coming from a lower level.

Definition— automorphic representation (rough)

Let A\mathbb{A} be the adèles of Q\Q and G=GLnG = GL_n. A cuspidal automorphic representation π\pi of GLn(A)GL_n(\mathbb{A}) is, roughly, an irreducible representation of GLn(A)GL_n(\mathbb{A}) occurring in the space of cusp forms on GLn(Q)\GLn(A)GL_n(\Q) \backslash GL_n(\mathbb{A}) (with a fixed central character). It factors as a restricted tensor product π=⨂v′πv\pi = \bigotimes'_v \pi_v of local representations; for almost all pp, πp\pi_p is unramified and determined by a conjugacy class (its Satake parameter) in GLn(C)GL_n(\C), which defines L(π,s)=∏pdet⁡(1−App−s)−1L(\pi, s) = \prod_p \det(1 - A_p p^{-s})^{-1} up to finitely many factors. A newform ff of weight kk gives a cuspidal automorphic representation of GL2(A)GL_2(\mathbb{A}); a Dirichlet character gives one of GL1(A)=A×GL_1(\mathbb{A}) = \mathbb{A}^\times. For a general reductive group GG the Satake parameters live in the Langlands dual group G^(C)\widehat{G}(\C), whose root datum is dual to that of GG (roots and coroots exchanged): GLn^=GLn\widehat{GL_n} = GL_n, SO2n+1^=Sp2n\widehat{SO_{2n+1}} = Sp_{2n}, SLn^=PGLn\widehat{SL_n} = PGL_n.

Worked examplesH

Examples

Example— Quadratic fields: reciprocity with a conductor

An odd prime p∤dp \nmid d splits in Q(d)\Q(\sqrt d) exactly when dd is a square mod pp. For d=−1d = -1: when p≡1(mod4)p \equiv 1 \pmod 4. For d=5d = 5: when p≡±1(mod5)p \equiv \pm 1 \pmod 5 (formalised below). For d=−23d = -23: when pp is a square mod 2323. In each case the condition is a congruence modulo ∣D∣|D|, the discriminant of the field: this is the conductor, and it is quadratic reciprocity in action. The splitting is described by the Dirichlet character χD(p)=(Dp)\chi_D(p) = \left(\frac{D}{p}\right), a one-dimensional Galois representation that is also a GL1GL_1-automorphic form.

Example— Cyclotomic fields: Frobenius is p mod n

In Q(ζn)\Q(\zeta_n), the automorphism σa:ζn↦ζna\sigma_a: \zeta_n \mapsto \zeta_n^a gives Gal⁡(Q(ζn)/Q)≅(Z/nZ)×\operatorname{Gal}(\Q(\zeta_n)/\Q) \cong (\Z/n\Z)^\times. For p∤np \nmid n, σp(x)≡xp\sigma_p(x) \equiv x^p modulo any prime above pp (expand (∑ciζi)p(\sum c_i\zeta^i)^p in characteristic pp), so Frob⁡p=σp\operatorname{Frob}_p = \sigma_p: the Frobenius at pp is the residue class p mod np \bmod n. Consequently pp splits into φ(n)/f\varphi(n)/f primes of degree f=ord⁡n(p)f = \operatorname{ord}_n(p), and splits completely iff p≡1(modn)p \equiv 1 \pmod n. All of this is in Mathlib (see the formal section).

Example— A weight-one form and a non-abelian cubic

The cubic x3−x−1x^3 - x - 1 has discriminant −23-23 and Galois group S3S_3; its splitting field HH is the Hilbert class field of K=Q(−23)K = \Q(\sqrt{-23}), whose class group has order 33. The two-dimensional irreducible representation ρ\rho of S3S_3 is induced from a character of order 33 of the class group of KK, and Hecke's theory of theta series makes it modular: L(ρ,s)=L(f,s)L(\rho, s) = L(f, s) with

f=12(θx2+xy+6y2−θ2x2+xy+3y2)=η(z)η(23z),f = \tfrac12\big(\theta_{x^2 + xy + 6y^2} - \theta_{2x^2 + xy + 3y^2}\big) = \eta(z)\eta(23z),

a weight-one cusp form of level 2323 with character (−23⋅)\left(\frac{-23}{\cdot}\right). Since tr⁡ρ(Frob⁡p)=(number of roots of x3−x−1 mod p)−1\operatorname{tr}\rho(\operatorname{Frob}_p) = (\text{number of roots of } x^3 - x - 1 \bmod p) - 1, this gives the rule of the motivation. Concretely, for p≠23p \neq 23: three roots if p=x2+xy+6y2p = x^2 + xy + 6y^2 (e.g. 59=52+5⋅2+6⋅2259 = 5^2 + 5\cdot 2 + 6 \cdot 2^2), none if p=2x2±xy+3y2p = 2x^2 \pm xy + 3y^2 (e.g. 13=2⋅22+2+313 = 2 \cdot 2^2 + 2 + 3), and one root if (−23p)=−1\left(\frac{-23}{p}\right) = -1. Because H/QH/\Q is not abelian, no congruence condition can separate the first two cases.

Example— Ramanujan's Δ

Δ(z)=q∏n≥1(1−qn)24=∑n≥1τ(n)qn=q−24q2+252q3−1472q4+4830q5−⋯\Delta(z) = q\prod_{n \ge 1}(1 - q^n)^{24} = \sum_{n \ge 1} \tau(n) q^n = q - 24q^2 + 252q^3 - 1472q^4 + 4830q^5 - \cdots is a cusp form of weight 1212 for SL2(Z)SL_2(\Z). Ramanujan (1916) conjectured that τ\tau is multiplicative, that τ(pr+1)=τ(p)τ(pr)−p11τ(pr−1)\tau(p^{r+1}) = \tau(p)\tau(p^r) - p^{11}\tau(p^{r-1}), and that ∣τ(p)∣≤2p11/2|\tau(p)| \le 2p^{11/2}. The first two were proved by Mordell (1917; Theorem 5 below), the third by Deligne (1974) as a consequence of his proof of the Weil conjectures. Deligne (1969) attached to Δ\Delta an ℓ\ell-adic Galois representation ρΔ,ℓ:GQ→GL2(Qℓ)\rho_{\Delta, \ell}: G_\Q \to GL_2(\Q_\ell) with tr⁡ρ(Frob⁡p)=τ(p)\operatorname{tr}\rho(\operatorname{Frob}_p) = \tau(p), which explains congruences such as Ramanujan's τ(n)≡σ11(n)(mod691)\tau(n) \equiv \sigma_{11}(n) \pmod{691}: modulo 691691 the representation becomes a sum of two characters.

Example— An elliptic curve of conductor 11

E=11a1E = 11a1 and f=q∏(1−qn)2(1−q11n)2∈S2(Γ0(11))f = q\prod(1 - q^n)^2(1 - q^{11n})^2 \in S_2(\Gamma_0(11)), the unique newform of that level: ap(E)=ap(f)a_p(E) = a_p(f) for all pp (Eichler 1954, Shimura). In representation-theoretic terms, the Galois representation on the Tate module of EE and the automorphic representation generated by ff correspond. The modularity theorem says this happens for every elliptic curve over Q\Q.

ProofH

Central results

Theorem— Lemma 1 (the quadratic Gauss sum)

Let qq be an odd prime, ζ=e2πi/q\zeta = e^{2\pi i/q}, and g=∑a=1q−1(aq)ζag = \sum_{a=1}^{q-1} \left(\frac{a}{q}\right)\zeta^a. Then g2=q∗:=(−1)(q−1)/2qg^2 = q^* := (-1)^{(q-1)/2} q. In particular q∗∈Q(ζq)\sqrt{q^*} \in \Q(\zeta_q).

Proof

Write χ(a)=(aq)\chi(a) = \left(\frac{a}{q}\right), a multiplicative character of (Z/q)×(\Z/q)^\times with ∑a≠0χ(a)=0\sum_{a \ne 0}\chi(a) = 0. Then g2=∑a,b≠0χ(ab)ζa+bg^2 = \sum_{a, b \ne 0} \chi(ab)\zeta^{a+b}. Substitute b=acb = ac (for fixed aa, cc runs over the non-zero residues as bb does) and use χ(a2c)=χ(c)\chi(a^2c) = \chi(c):

g2=∑c≠0χ(c)∑a≠0ζa(1+c).g^2 = \sum_{c \ne 0} \chi(c) \sum_{a \ne 0} \zeta^{a(1 + c)}.

The inner sum is q−1q - 1 if c=−1c = -1 and −1-1 otherwise (a sum of all non-trivial qq-th roots of unity). Hence g2=χ(−1)(q−1)−∑c≠0,−1χ(c)=χ(−1)(q−1)+χ(−1)=χ(−1) qg^2 = \chi(-1)(q - 1) - \sum_{c \ne 0, -1}\chi(c) = \chi(-1)(q-1) + \chi(-1) = \chi(-1)\,q, and χ(−1)=(−1)(q−1)/2\chi(-1) = (-1)^{(q-1)/2} by Euler's criterion.

∎

Theorem— Theorem 2 (quadratic reciprocity, Gauss 1796)

For distinct odd primes p,qp, q: (pq)(qp)=(−1)p−12q−12\left(\frac{p}{q}\right)\left(\frac{q}{p}\right) = (-1)^{\frac{p-1}{2}\frac{q-1}{2}}.

Proof

We give the proof that explains why: via Frobenius elements in Q(ζq)\Q(\zeta_q). Let G=Gal⁡(Q(ζq)/Q)≅(Z/q)×G = \operatorname{Gal}(\Q(\zeta_q)/\Q) \cong (\Z/q)^\times, a cyclic group of even order q−1q - 1. It has a unique subgroup HH of index 22, the squares, and so Q(ζq)\Q(\zeta_q) has a unique quadratic subfield; by Lemma 1 it is Q(q∗)\Q(\sqrt{q^*}). Now compute, for the prime p≠qp \ne q (unramified in Q(ζq)\Q(\zeta_q)):

  • pp splits in Q(q∗)\Q(\sqrt{q^*})   ⟺  \iff q∗q^* is a square mod pp   ⟺  \iff (q∗p)=1\left(\frac{q^*}{p}\right) = 1 (Dedekind–Kummer: x2−q∗x^2 - q^* factors mod pp; pp is odd and does not divide q∗q^*).
  • pp splits in Q(q∗)\Q(\sqrt{q^*})   ⟺  \iff Frob⁡p\operatorname{Frob}_p acts trivially on Q(q∗)\Q(\sqrt{q^*})   ⟺  \iff Frob⁡p∈H\operatorname{Frob}_p \in H   ⟺  \iff p mod qp \bmod q is a square   ⟺  \iff (pq)=1\left(\frac{p}{q}\right) = 1, because Frob⁡p=σp\operatorname{Frob}_p = \sigma_p corresponds to p mod qp \bmod q (the cyclotomic example).

So (pq)=(q∗p)=(−1p)(q−1)/2(qp)=(−1)p−12q−12(qp)\left(\frac{p}{q}\right) = \left(\frac{q^*}{p}\right) = \left(\frac{-1}{p}\right)^{(q-1)/2}\left(\frac{q}{p}\right) = (-1)^{\frac{p-1}{2}\frac{q-1}{2}}\left(\frac{q}{p}\right), using Euler's criterion (−1p)=(−1)(p−1)/2\left(\frac{-1}{p}\right) = (-1)^{(p-1)/2}. Multiply by (qp)=±1\left(\frac{q}{p}\right) = \pm 1.

∎

The structure of this proof is the structure of the subject: an arithmetic question about splitting of primes (Galois side) is answered by identifying the Frobenius with an "automorphic" invariant, the residue class p mod qp \bmod q, which is a character of the idèle class group of Q\Q. The proof also shows that Q(q∗)\Q(\sqrt{q^*}) lies in a cyclotomic field — the quadratic case of the next theorem.

Theorem— Theorem 3 (Kronecker–Weber; Kronecker 1853, Weber 1886, Hilbert 1896)

Every finite abelian extension of Q\Q is contained in a cyclotomic field Q(ζn)\Q(\zeta_n).

Kronecker stated it, Weber gave a proof with a gap, and Hilbert gave the first complete proof. Standard modern proofs reduce to local fields and analyse ramification (Washington, Introduction to Cyclotomic Fields, Ch. 14), or deduce it from class field theory. With the cyclotomic example it gives class field theory over Q\Q: abelian extensions of Q\Q correspond to subgroups of the groups (Z/n)×(\Z/n)^\times, and Frobenius elements to residue classes. Over a general number field, Takagi (1920) and Artin (1927) proved the corresponding theorem with ray class groups replacing (Z/n)×(\Z/n)^\times; generating the abelian extensions explicitly (Hilbert's twelfth problem) is understood for Q\Q and imaginary quadratic fields (complex multiplication), and Dasgupta and Kakde (2021–23) gave a pp-adic answer for totally real fields.

Theorem— Proposition 4 (eigenforms have multiplicative coefficients)

Let f=∑anqn∈Sk(SL2(Z))f = \sum a_n q^n \in S_k(SL_2(\Z)) be non-zero with Tnf=λnfT_n f = \lambda_n f for every n≥1n \ge 1. Then an=λna1a_n = \lambda_n a_1 for all nn, so a1≠0a_1 \neq 0. Normalising a1=1a_1 = 1: amn=amana_{mn} = a_m a_n when gcd⁡(m,n)=1\gcd(m, n) = 1, and apr+1=apapr−pk−1apr−1a_{p^{r+1}} = a_pa_{p^r} - p^{k-1}a_{p^{r-1}} for every prime pp.

Proof

By the formula for TnT_n with m=1m = 1, the only divisor of gcd⁡(1,n)\gcd(1, n) is d=1d = 1, so a1(Tnf)=an(f)a_1(T_nf) = a_n(f). But a1(Tnf)=a1(λnf)=λna1a_1(T_nf) = a_1(\lambda_nf) = \lambda_na_1. Hence an=λna1a_n = \lambda_na_1 for every nn; if a1a_1 were 00, all coefficients would vanish and f=0f = 0. With a1=1a_1 = 1 we have an=λna_n = \lambda_n, and the relations TmTn=TmnT_mT_n = T_{mn} and Tpr+1=TpTpr−pk−1Tpr−1T_{p^{r+1}} = T_pT_{p^r} - p^{k-1}T_{p^{r-1}} between the operators become the stated relations between their eigenvalues.

∎

The same argument works at level NN for nn prime to NN; to conclude a1≠0a_1 \neq 0 one also needs the operators UpU_p for p∣Np \mid N, or one restricts to newforms.

Theorem— Theorem 5 (Mordell 1917)

τ(mn)=τ(m)τ(n)\tau(mn) = \tau(m)\tau(n) for coprime m,nm, n, and τ(pr+1)=τ(p)τ(pr)−p11τ(pr−1)\tau(p^{r+1}) = \tau(p)\tau(p^r) - p^{11}\tau(p^{r-1}).

Proof

The space S12(SL2(Z))S_{12}(SL_2(\Z)) is one-dimensional, spanned by Δ\Delta (by the dimension formula for level one: dim⁡M12=2\dim M_{12} = 2, with M12=CE12⊕CΔM_{12} = \C E_{12} \oplus \C\Delta). Each TnT_n preserves S12S_{12}, so TnΔ=λnΔT_n\Delta = \lambda_n\Delta for every nn. Since τ(1)=1\tau(1) = 1, Proposition 4 applies.

∎

The proof is a template: one-dimensionality forces an eigenform, and eigenforms have Euler products, L(Δ,s)=∏p(1−τ(p)p−s+p11−2s)−1L(\Delta, s) = \prod_p (1 - \tau(p)p^{-s} + p^{11 - 2s})^{-1}. In general Sk(Γ0(N))S_k(\Gamma_0(N)) has a basis of newforms and oldforms, and multiplicity one (Atkin–Lehner) identifies newforms with their Hecke eigenvalues.

Theorem— Theorem 6 (Galois representations from modular forms)

Let ff be a newform of weight k≥1k \ge 1, level NN and character ε\varepsilon, with coefficients in a number field EfE_f. For each prime λ\lambda of EfE_f above ℓ\ell there is a continuous irreducible representation ρf,λ:GQ→GL2(Ef,λ)\rho_{f,\lambda}: G_\Q \to GL_2(E_{f,\lambda}), unramified outside NℓN\ell, with tr⁡ρf,λ(Frob⁡p)=ap(f)\operatorname{tr}\rho_{f,\lambda}(\operatorname{Frob}_p) = a_p(f) and det⁡ρf,λ(Frob⁡p)=ε(p)pk−1\det\rho_{f,\lambda}(\operatorname{Frob}_p) = \varepsilon(p)p^{k-1} for p∤Nℓp \nmid N\ell. For k=2k = 2 (Eichler–Shimura) it is cut out of the Tate module of the Jacobian of X0(N)X_0(N); for k≥2k \ge 2 (Deligne, 1969–71) from the étale cohomology of Kuga–Sato varieties; for k=1k = 1 (Deligne–Serre, 1974) it comes from a representation into GL2(C)GL_2(\C) with finite image.

The converse direction is the hard one.

Theorem— Theorem 7 (modularity; Wiles, Taylor–Wiles 1995; Breuil–Conrad–Diamond–Taylor 2001)

For every elliptic curve E/QE/\Q there is a newform ff of weight 22 and level NEN_E with ρE,ℓ≅ρf,ℓ\rho_{E,\ell} \cong \rho_{f,\ell} for all ℓ\ell, equivalently ap(E)=ap(f)a_p(E) = a_p(f) for all pp.

Related reciprocity theorems for GL2GL_2 over Q\Q: Serre's modularity conjecture — every odd irreducible ρˉ:GQ→GL2(F‾ℓ)\bar\rho: G_\Q \to GL_2(\overline{\mathbb{F}}_\ell) comes from a newform — was proved by Khare and Wintenberger (2009, with Kisin), and implies Artin's conjecture for odd two-dimensional complex representations of GQG_\Q (earlier, Langlands (1980) and Tunnell (1981) had done the tetrahedral and octahedral cases using base change). See the elliptic-curves lesson for the consequence for Fermat's Last Theorem.

Theorem— Conjecture 8 (Langlands reciprocity, one form)

Irreducible ℓ\ell-adic Galois representations ρ:GQ→GLn(Q‾ℓ)\rho: G_\Q \to GL_n(\overline{\Q}_\ell) that are unramified almost everywhere and de Rham at ℓ\ell (the Fontaine–Mazur "geometric" ones) correspond bijectively to cuspidal automorphic representations π\pi of GLn(AQ)GL_n(\mathbb{A}_\Q) that are algebraic at infinity, with L(ρ,s)=L(π,s)L(\rho, s) = L(\pi, s) (suitably normalised) — that is, the characteristic polynomial of ρ(Frob⁡p)\rho(\operatorname{Frob}_p) matches the Satake parameter of πp\pi_p for almost all pp.

Known: n=1n = 1 (class field theory, over any number field); much of n=2n = 2 over Q\Q and over totally real fields; the direction "automorphic ⇒\Rightarrow Galois" for regular algebraic self-dual representations of GLnGL_n over CM and totally real fields (Clozel, Harris–Taylor, Shin, Chenevier–Harris and others) and, since Harris–Lan–Taylor–Thorne (2016) and Scholze (2015), without self-duality; and many "potential" cases (Taylor and collaborators), which give the Sato–Tate theorem. Open: the general case, notably the direction "Galois ⇒\Rightarrow automorphic" in dimension n≥3n \ge 3.

Theorem— Conjecture 9 (functoriality)

Let GG and HH be connected reductive groups over Q\Q (say quasi-split) and r:LH→LGr: {}^LH \to {}^LG an LL-homomorphism between their LL-groups. For every automorphic representation π\pi of H(A)H(\mathbb{A}) there is an automorphic representation Π\Pi of G(A)G(\mathbb{A}) whose local Satake parameters are the images under rr of those of π\pi at almost all places.

Functoriality for H=GL2H = GL_2, G=GLn+1G = GL_{n+1} and r=Sym⁡nr = \operatorname{Sym}^n would give the Ramanujan conjecture and, via analytic properties of the symmetric-power LL-functions, the Sato–Tate law. Known cases include: Jacquet–Langlands (1970, inner forms of GL2GL_2); Sym⁡2\operatorname{Sym}^2 (Gelbart–Jacquet, 1978); cyclic base change for GLnGL_n (Arthur–Clozel, 1989); Sym⁡3\operatorname{Sym}^3 (Kim–Shahidi, 2002) and Sym⁡4\operatorname{Sym}^4 (Kim, 2003); all symmetric powers of holomorphic newforms (Newton–Thorne, 2021); and endoscopic transfer from classical groups to GLnGL_n (Arthur, 2013), which needed Ngô Bảo Châu's proof of the Fundamental Lemma (2008–10). Functoriality in general is an open conjecture.

ExplanationH

The landscape: known, open, and parallel programmes

Local Langlands. Over a pp-adic field FF, irreducible smooth representations of GLn(F)GL_n(F) correspond to nn-dimensional Weil–Deligne representations of the Weil group of FF: proved by Harris–Taylor and by Henniart (1998–2000), with a third proof by Scholze (2013). For general groups the correspondence is expected to be finite-to-one ("LL-packets"); Fargues and Scholze (2021) constructed the semisimplified parameters for every reductive group by "geometrising" the local correspondence on the Fargues–Fontaine curve.

Function fields. Replace Q\Q by the field of rational functions of a curve over Fq\mathbb{F}_q. Drinfeld proved global Langlands for GL2GL_2 (1974–), Laurent Lafforgue for GLnGL_n (2002), and Vincent Lafforgue constructed the automorphic-to-Galois direction for every reductive group (2018), using moduli of shtukas.

Geometric Langlands. Replace the curve over Fq\mathbb{F}_q by a complex algebraic curve XX. Galois representations become local systems (flat G^\widehat G-bundles) on XX, and automorphic forms become sheaves (D-modules) on the moduli stack Bun⁡G\operatorname{Bun}_G of GG-bundles. The conjecture, in the form of Beilinson–Drinfeld and Arinkin–Gaitsgory, is an equivalence of categories. A proof of the unramified global geometric Langlands conjecture in characteristic 00 was announced in 2024 by Gaitsgory, Raskin and collaborators; it spans several long papers. This is analogous to, but logically independent of, the arithmetic conjectures: progress in one does not settle the other.

Open problems (well documented; consult recent surveys for the current state): functoriality in general; reciprocity for GLnGL_n, n≥3n \ge 3, over Q\Q in general; Artin's conjecture that L(ρ,s)L(\rho, s) is entire for every non-trivial irreducible Artin representation (open, for instance, for even icosahedral representations in dimension 22, and in general in dimension ≥3\ge 3); the Ramanujan conjecture for Maass forms, whose archimedean part is Selberg's eigenvalue conjecture λ1≥14\lambda_1 \ge \tfrac14 for congruence subgroups (the best bound, λ1≥9754096\lambda_1 \ge \tfrac{975}{4096}, is due to Kim and Sarnak); the Birch and Swinnerton-Dyer conjecture and its generalisations (Beilinson–Bloch–Kato), which concern special values of the LL-functions this programme produces.

Formal mathematicsF

Reciprocity in Lean and Mathlib

Mathlib has Legendre and Jacobi symbols with quadratic reciprocity, cyclotomic fields with their Galois groups and the splitting of primes in them, Dirichlet characters and LL-series with Dirichlet's theorem, and modular forms for congruence subgroups including Ramanujan's Δ\Delta. It does not have class field theory, the Kronecker–Weber theorem, automorphic representations, or the Galois representations attached to modular forms.

Quadratic reciprocity and the splitting laws for x2+1x^2 + 1 — including a proof from Fermat's little theorem that −1-1 is not a square modulo p≡3(mod4)p \equiv 3 \pmod 4, and the parity argument for sums of two squares:

quadratic_reciprocityLean 4Applies a library theoremFormally verified
/-- **Quadratic reciprocity** (Gauss, 1796): for distinct odd primes `p` and `q`,
`(q/p)(p/q) = (−1)^((p−1)/2 · (q−1)/2)`. (In Lean, `p / 2 = (p − 1)/2` for odd `p`, and
`legendreSym p a` is the Legendre symbol `(a/p)`.) This applies Mathlib's
`legendreSym.quadratic_reciprocity`. -/
theorem quadratic_reciprocity (p q : ℕ) [Fact p.Prime] [Fact q.Prime] (hp : p ≠ 2)
    (hq : q ≠ 2) (hpq : p ≠ q) :
    legendreSym q p * legendreSym p q = (-1) ^ (p / 2 * (q / 2)) :=
  legendreSym.quadratic_reciprocity hp hq hpq
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor
neg_one_not_squareLean 4Proved here from basic factsFormally verified
/-- If `p ≡ 3 (mod 4)` then `−1` is not a square mod `p`. Proof: if `x² = −1` then, by Fermat's
little theorem, `1 = x^(p−1) = (x²)^((p−1)/2) = (−1)^((p−1)/2) = −1`, because `(p − 1)/2` is
odd; so `2 = 0` in `ℤ/pℤ`, i.e. `p ∣ 2`, which is impossible for `p ≡ 3 (mod 4)`.
So `x² + 1` has no root mod `p`: the prime `p` stays prime in `ℤ[i]`. -/
theorem neg_one_not_square (p : ℕ) [Fact p.Prime] (hp : p % 4 = 3) :
    ¬ IsSquare (-1 : ZMod p) := by
  rintro ⟨x, hx⟩
  have hx0 : x ≠ 0 := by
    rintro rfl
    simp at hx
  have hp1 : p - 1 = 2 * ((p - 1) / 2) := by omega
  have h1 : x ^ (p - 1) = -1 := by
    rw [hp1, pow_mul, sq, ← hx]
    exact Odd.neg_one_pow ⟨(p - 1) / 2 / 2, by omega⟩
  rw [ZMod.pow_card_sub_one_eq_one hx0] at h1
  have h2 : ((2 : ℕ) : ZMod p) = 0 := by
    push_cast
    linear_combination h1
  rw [ZMod.natCast_eq_zero_iff] at h2
  have := (Nat.prime_dvd_prime_iff_eq Fact.out Nat.prime_two).mp h2
  omega
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor
neg_one_square_iffLean 4Applies a library theoremFormally verified
/-- The full splitting law for `x² + 1`: `−1` is a square mod an odd prime `p` iff
`p ≢ 3 (mod 4)`. Whether `x² + 1` factors mod `p` depends only on `p mod 4` — the simplest
reciprocity law. This applies Mathlib's `ZMod.exists_sq_eq_neg_one_iff`. -/
theorem neg_one_square_iff (p : ℕ) [Fact p.Prime] :
    IsSquare (-1 : ZMod p) ↔ p % 4 ≠ 3 :=
  ZMod.exists_sq_eq_neg_one_iff
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor
sum_two_squares_mod_fourLean 4Proved here from basic factsFormally verified
/-- An odd prime that is a sum of two squares is `≡ 1 (mod 4)`: squares are `0` or `1` mod `4`,
so a sum of two squares is never `3` mod `4`. (A prime `p = a² + b² = (a + bi)(a − bi)` splits in
`ℤ[i]`.) -/
theorem sum_two_squares_mod_four (p a b : ℕ) (hp : p.Prime) (hp2 : p ≠ 2)
    (h : a ^ 2 + b ^ 2 = p) : p % 4 = 1 := by
  have hodd : p % 2 = 1 := (hp.eq_two_or_odd).resolve_left hp2
  have : (a ^ 2 + b ^ 2) % 4 ≠ 3 := by
    have ha := Nat.mod_lt a (by norm_num : 4 > 0)
    have hb := Nat.mod_lt b (by norm_num : 4 > 0)
    rw [Nat.add_mod, Nat.pow_mod, Nat.pow_mod b]
    interval_cases (a % 4) <;> interval_cases (b % 4) <;> norm_num
  omega
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor
fermat_two_squaresLean 4Applies a library theoremFormally verified
/-- **Fermat's two-squares theorem** (stated by Fermat, proved by Euler): a prime `p ≢ 3 (mod 4)`
is a sum of two squares. With `sum_two_squares_mod_four`, a prime splits in `ℤ[i]` iff
`p ≡ 1 (mod 4)` (or `p = 2`, which ramifies). This applies Mathlib's `Nat.Prime.sq_add_sq`. -/
theorem fermat_two_squares (p : ℕ) [Fact p.Prime] (hp : p % 4 ≠ 3) :
    ∃ a b : ℕ, a ^ 2 + b ^ 2 = p :=
  Nat.Prime.sq_add_sq hp
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor

A reciprocity law with conductor 55, derived from quadratic reciprocity — the splitting of pp in Q(5)\Q(\sqrt 5) is decided by p mod 5p \bmod 5:

five_square_iffLean 4Proved here from basic factsFormally verified
/-- **A reciprocity law with conductor 5.** For a prime `p ≠ 2, 5`: `5` is a square mod `p` iff
`p ≡ ±1 (mod 5)`. Whether `x² − 5` factors mod `p` is decided by a congruence on `p` — the
splitting law of `ℚ(√5) ⊂ ℚ(ζ₅)`. Proof: since `5 ≡ 1 (mod 4)`, quadratic reciprocity gives
`(5/p) = (p/5)`; this depends only on `p mod 5`, and the squares mod `5` are `1` and `4`. -/
theorem five_square_iff (p : ℕ) [Fact p.Prime] (hp2 : p ≠ 2) (hp5 : p ≠ 5) :
    IsSquare ((5 : ℕ) : ZMod p) ↔ p % 5 = 1 ∨ p % 5 = 4 := by
  have hne : ((5 : ℕ) : ZMod p) ≠ 0 := by
    rw [Ne, ZMod.natCast_eq_zero_iff]
    intro h
    exact hp5 ((Nat.prime_dvd_prime_iff_eq Fact.out Nat.prime_five).mp h)
  rw [← legendreSym.eq_one_iff' p hne]
  -- reciprocity: `(5/p) = (p/5)`
  have hqr : legendreSym p ((5 : ℕ) : ℤ) = legendreSym 5 (p : ℤ) := by
    exact_mod_cast legendreSym.quadratic_reciprocity_one_mod_four (by norm_num : 5 % 4 = 1) hp2
  rw [hqr, legendreSym.mod 5 (p : ℤ)]
  have hcast : (p : ℤ) % ((5 : ℕ) : ℤ) = ((p % 5 : ℕ) : ℤ) := by push_cast; rfl
  rw [hcast]
  have hr : p % 5 = 1 ∨ p % 5 = 2 ∨ p % 5 = 3 ∨ p % 5 = 4 := by
    have h5 : ¬ 5 ∣ p := fun h =>
      hp5 ((Nat.prime_dvd_prime_iff_eq Nat.prime_five Fact.out).mp h).symm
    omega
  have hne' : ((p % 5 : ℕ) : ZMod 5) ≠ 0 := by
    rcases hr with h | h | h | h <;> rw [h] <;> decide
  rw [legendreSym.eq_one_iff' 5 hne']
  -- the squares mod 5 are 1 and 4: a finite check
  rcases hr with h | h | h | h <;> rw [h] <;> decide
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor

Class field theory for cyclotomic fields: Mathlib proves (X. Roblot, 2026) that the decomposition group of a prime above p∤np \nmid n corresponds to the subgroup generated by p mod np \bmod n — the statement "Frob⁡p=p mod n\operatorname{Frob}_p = p \bmod n" used in the proof of Theorem 2 — and computes residue degrees and ramification:

cyclotomicGaloisLean 4Formally verified
/-- The isomorphism `Gal(ℚ(ζₙ)/ℚ) ≅ (ℤ/nℤ)ˣ`, sending `σ` to the class `a` with `σ(ζₙ) = ζₙᵃ`.
It exists because the cyclotomic polynomial `Φₙ` is irreducible over `ℚ`. This is Mathlib's
`IsCyclotomicExtension.Rat.galEquivZMod`. -/
noncomputable def cyclotomicGalois (n : ℕ) [NeZero n] (K : Type*) [Field K] [NumberField K]
    [IsCyclotomicExtension {n} ℚ K] : Gal(K/ℚ) ≃* (ZMod n)ˣ :=
  IsCyclotomicExtension.Rat.galEquivZMod n K
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor
cyclotomic_frobeniusLean 4Applies a library theoremFormally verified
/-- **Reciprocity for cyclotomic fields.** Let `p ∤ n` be prime and `P` a prime of `ℚ(ζₙ)` above
`p`. Under `Gal(ℚ(ζₙ)/ℚ) ≅ (ℤ/nℤ)ˣ`, the decomposition group of `P` is the cyclic subgroup
generated by `p mod n`: the Frobenius element at `p` "is" `p mod n`. This is class field theory
for the fields `ℚ(ζₙ)`, and by Kronecker–Weber every abelian extension of `ℚ` lies in one of
them. This applies Mathlib's `IsCyclotomicExtension.Rat.galEquivZMod_stabilizer`. -/
theorem cyclotomic_frobenius {n : ℕ} [NeZero n] (K : Type*) [Field K] [NumberField K]
    [IsCyclotomicExtension {n} ℚ K] (p : ℕ) [Fact p.Prime] (P : Ideal (𝓞 K)) [P.IsMaximal]
    [P.LiesOver (Ideal.span {(p : ℤ)})] (hn : p.Coprime n) :
    (IsCyclotomicExtension.Rat.galEquivZMod n K).mapSubgroup (MulAction.stabilizer Gal(K/ℚ) P) =
      Subgroup.zpowers (ZMod.unitOfCoprime p hn) :=
  IsCyclotomicExtension.Rat.galEquivZMod_stabilizer n K p P hn
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor
cyclotomic_residue_degreeLean 4Applies a library theoremFormally verified
/-- For a prime `p ∤ m`, the residue degree of `p` in `ℚ(ζₘ)` is the multiplicative order of
`p mod m`: `p` factors into `φ(m)/f` primes of degree `f = ord_m(p)`. This applies Mathlib's
`IsCyclotomicExtension.Rat.inertiaDegIn_eq_of_not_dvd`. -/
theorem cyclotomic_residue_degree {m : ℕ} [NeZero m] (p : ℕ) [Fact p.Prime] (K : Type*)
    [Field K] [NumberField K] [IsCyclotomicExtension {m} ℚ K] (hm : ¬ p ∣ m) :
    (Ideal.span {(p : ℤ)}).inertiaDegIn (𝓞 K) = orderOf (p : ZMod m) :=
  IsCyclotomicExtension.Rat.inertiaDegIn_eq_of_not_dvd p K hm
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor
cyclotomic_unramifiedLean 4Applies a library theoremFormally verified
/-- A prime `p ∤ m` is unramified in `ℚ(ζₘ)`. This applies Mathlib's
`IsCyclotomicExtension.Rat.ramificationIdxIn_eq_of_not_dvd`. -/
theorem cyclotomic_unramified {m : ℕ} [NeZero m] (p : ℕ) [Fact p.Prime] (K : Type*)
    [Field K] [NumberField K] [IsCyclotomicExtension {m} ℚ K] (hm : ¬ p ∣ m) :
    (Ideal.span {(p : ℤ)}).ramificationIdxIn (𝓞 K) = 1 :=
  IsCyclotomicExtension.Rat.ramificationIdxIn_eq_of_not_dvd p K hm
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor
splits_completely_iffLean 4Applies a library theoremFormally verified
/-- The splitting law of `ℚ(ζₘ)`: a prime `p ∤ m` (unramified by `cyclotomic_unramified`) has
residue degree `1` — it **splits completely** — iff `p ≡ 1 (mod m)`. A one-line corollary of
Mathlib's `IsCyclotomicExtension.Rat.inertiaDegIn_eq_of_not_dvd`, using that an element of a
group has order `1` iff it is the identity (`orderOf_eq_one_iff`). -/
theorem splits_completely_iff {m : ℕ} [NeZero m] (p : ℕ) [Fact p.Prime] (K : Type*) [Field K]
    [NumberField K] [IsCyclotomicExtension {m} ℚ K] (hm : ¬ p ∣ m) :
    (Ideal.span {(p : ℤ)}).inertiaDegIn (𝓞 K) = 1 ↔ (p : ZMod m) = 1 := by
  rw [IsCyclotomicExtension.Rat.inertiaDegIn_eq_of_not_dvd p K hm, orderOf_eq_one_iff]
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor

GL(1)GL(1) automorphic forms over Q\Q are Dirichlet characters, and the non-vanishing of their LL-functions at s=1s = 1 gives Dirichlet's theorem, now in Mathlib:

dirichlet_primes_in_apLean 4Applies a library theoremFormally verified
/-- **Dirichlet's theorem** (1837): every invertible residue class `a mod q` contains infinitely
many primes. Its proof is the non-vanishing of `L(1, χ)` for the Dirichlet characters `χ mod q`
— the automorphic forms for `GL(1)` over `ℚ`. In Galois terms, every element of
`Gal(ℚ(ζ_q)/ℚ)` is a Frobenius element infinitely often (the abelian case of Chebotarev).
This applies Mathlib's `Nat.forall_exists_prime_gt_and_eq_mod`. -/
theorem dirichlet_primes_in_ap {q : ℕ} [NeZero q] {a : ZMod q} (ha : IsUnit a) (n : ℕ) :
    ∃ p > n, p.Prime ∧ (p : ZMod q) = a :=
  Nat.forall_exists_prime_gt_and_eq_mod ha n
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor

GL(2)GL(2): the transformation law of modular forms and the normalisation of Δ\Delta:

modular_transformationLean 4Applies a library theoremFormally verified
/-- The defining symmetry of a **modular form** of weight `k` for `SL(2, ℤ)`:
`f((az + b)/(cz + d)) = (cz + d)^k f(z)` for every `γ = (a b; c d) ∈ SL(2, ℤ)` and every `z` in
the upper half-plane (`denom γ z = cz + d`). In Mathlib a `ModularForm 𝒮ℒ k` is a holomorphic
function on `ℍ` with this symmetry and bounded at the cusp. This applies
`SlashInvariantForm.slash_action_eqn''`. -/
theorem modular_transformation {k : ℤ} (f : ModularForm 𝒮ℒ k) (γ : SL(2, ℤ))
    (z : UpperHalfPlane) :
    f (γ • z) = (UpperHalfPlane.denom γ z) ^ k * f z :=
  SlashInvariantForm.slash_action_eqn'' f (by exact ⟨γ, rfl⟩) z
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor
discriminant_first_coefficientLean 4Applies a library theoremFormally verified
/-- Ramanujan's cusp form `Δ(z) = q ∏ₙ (1 − qⁿ)²⁴ = Σ τ(n) qⁿ` (weight 12, level 1) is
normalised: its `q`-expansion starts `q + …`, i.e. `τ(1) = 1`. Mathlib defines `Δ` from the
Dedekind eta function and proves it is a cusp form. This applies
`ModularForm.discriminant_qExpansion_coeff_one`. The multiplicativity of `τ` (Mordell, 1917)
and Deligne's bound `|τ(p)| ≤ 2p^(11/2)` (1974) are not in Mathlib. -/
theorem discriminant_first_coefficient :
    (PowerSeries.coeff 1) (UpperHalfPlane.qExpansion 1 ModularForm.discriminant) = 1 :=
  ModularForm.discriminant_qExpansion_coeff_one
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/LanglandsProgramme.leanTry it in the Lean web editor

What is and is not formalised. Formalised: quadratic reciprocity, the splitting laws of Q(i)\Q(i), Q(5)\Q(\sqrt5) and Q(ζn)\Q(\zeta_n), Frobenius in cyclotomic fields, Dirichlet's theorem, the definition of modular forms and of Δ\Delta. Not formalised: Lemma 1 as stated here (Mathlib has Gauss sums, but we did not connect them), Theorem 2's Galois-theoretic proof as a whole, Kronecker–Weber, class field theory, Hecke operators on modular forms and Theorem 5, Theorems 6 and 7, and of course the conjectures. Reciprocity laws for GL1GL_1 over Q\Q are within reach of Mathlib; the rest of the programme is far beyond current formal libraries.

ComputationC

Checking reciprocity numerically

The first experiment checks quadratic reciprocity for all 990990 pairs of odd primes below 200200, the congruence splitting laws of x2+1x^2 + 1 and x2−5x^2 - 5, and then the non-abelian rule of the motivation: it finds two primes in the same class mod 2323 at which x3−x−1x^3 - x - 1 behaves differently, and confirms that η(z)η(23z)\eta(z)\eta(23z) predicts the number of roots at every prime below 20002000. Finally it compares the frequencies of 33, 11 and 00 roots with Chebotarev's densities 16,12,13\tfrac16, \tfrac12, \tfrac13 — the proportions of the identity, transpositions and 33-cycles in S3S_3.

Reciprocity laws: quadratic, cyclotomic and a modular formPythonExact computationExhaustive finite checkStatistical evidenceComputationally tested
"""Reciprocity laws: when does a polynomial factor modulo p?

For a polynomial f with integer coefficients, how f factors modulo a prime p
is governed by the Frobenius element at p in the Galois group of f.

1. Quadratic reciprocity, checked for every pair of distinct odd primes below
   200 with Euler's criterion.
2. Abelian splitting laws: x^2 + 1 has roots mod p exactly when p = 1 mod 4,
   and x^2 - 5 exactly when p = +-1 mod 5. Congruences decide everything.
3. A non-abelian splitting law: the number of roots of x^3 - x - 1 mod p is
   NOT determined by any congruence on p (we exhibit primes in the same
   class mod 23 that behave differently), but it IS given by the coefficients
   of the modular form eta(z) eta(23z) = q prod (1 - q^n)(1 - q^(23n)):
   #roots = a_p + 1 for p != 23. This is a theorem (Hecke's theory of theta
   series for Q(sqrt(-23))); here we check it for p < 2000.
4. Chebotarev statistics for x^3 - x - 1, whose Galois group is S_3: the
   proportions of primes with 3, 1 and 0 roots approach 1/6, 1/2, 1/3.
"""

def primes_below(n):
    """All primes p < n."""
    sieve = bytearray([1]) * max(n, 2)
    sieve[0] = sieve[1] = 0
    for i in range(2, int(n ** 0.5) + 1):
        if sieve[i]:
            sieve[i * i::i] = bytearray(len(range(i * i, n, i)))
    return [i for i in range(n) if sieve[i]]

def legendre(a, p):
    """The Legendre symbol (a/p) for an odd prime p, by Euler's criterion."""
    r = pow(a % p, (p - 1) // 2, p)
    return -1 if r == p - 1 else r

def reciprocity_failures(primes):
    """Pairs p < q of odd primes violating (p/q)(q/p) = (-1)^((p-1)(q-1)/4)."""
    odd = [p for p in primes if p > 2]
    bad = []
    for i, p in enumerate(odd):
        for q in odd[i + 1:]:
            sign = (-1) ** (((p - 1) // 2) * ((q - 1) // 2))
            if legendre(p, q) * legendre(q, p) != sign:
                bad.append((p, q))
    return bad

def root_count(coeffs, p):
    """Number of roots mod p of the polynomial with coefficients (highest first)."""
    count = 0
    for x in range(p):
        v = 0
        for c in coeffs:
            v = (v * x + c) % p
        count += v == 0
    return count

def eta_product_coefficients(N, levels):
    """a_1..a_N of q * prod_n prod_{m in levels} (1 - q^(m n)), as a list a[0..N]."""
    c = [0] * N  # c[k] = coefficient of q^k in the product (without the q)
    c[0] = 1
    for m in levels:
        for n in range(1, N // m + 1):
            step = m * n
            for k in range(N - 1, step - 1, -1):
                c[k] -= c[k - step]
    return [0] + c  # a[n] = c[n - 1]

def main():
    primes = primes_below(2000)
    pairs = len([p for p in primes if 2 < p < 200])
    bad = reciprocity_failures([p for p in primes if p < 200])
    print(f"1. Quadratic reciprocity: {pairs * (pairs - 1) // 2} pairs of odd "
          f"primes < 200, {len(bad)} failures")
    print()
    odd = [p for p in primes if p > 5]
    law1 = all((root_count([1, 0, 1], p) == 2) == (p % 4 == 1) for p in odd)
    law2 = all((root_count([1, 0, -5], p) == 2) == (p % 5 in (1, 4)) for p in odd)
    print(f"2. For all {len(odd)} primes 5 < p < 2000:")
    print(f"   x^2 + 1 has roots mod p  <=>  p = 1 mod 4      : {law1}")
    print(f"   x^2 - 5 has roots mod p  <=>  p = +-1 mod 5    : {law2}")
    print()
    cubic = [1, 0, -1, -1]
    counts = {p: root_count(cubic, p) for p in primes}
    seen, clash = {}, None
    for p in primes:
        if p != 23:
            r = p % 23
            if r in seen and counts[seen[r]] != counts[p] and clash is None:
                clash = (seen[r], p)
            seen.setdefault(r, p)
    p0, p1 = clash
    print("3. x^3 - x - 1 (discriminant -23):")
    print(f"   p = {p0} and p = {p1} are both {p0 % 23} mod 23, but have "
          f"{counts[p0]} and {counts[p1]} roots:")
    print("   no congruence condition decides how the cubic factors.")
    a = eta_product_coefficients(2000, [1, 23])
    agree = sum(1 for p in primes if p != 23 and counts[p] == a[p] + 1)
    print(f"   eta(z)eta(23z) = q - q^2 - q^3 + q^6 + q^8 - ...: "
          f"a_p + 1 = #roots")
    print(f"   for {agree} of the {len(primes) - 1} primes p < 2000, p != 23")
    print()
    good = [p for p in primes if p != 23]
    print("4. Chebotarev for Gal = S_3, primes p < 2000:")
    for k, name, density in [(3, "3 roots (identity)", "1/6"),
                             (1, "1 root (transposition)", "1/2"),
                             (0, "0 roots (3-cycle)", "1/3")]:
        share = sum(1 for p in good if counts[p] == k) / len(good)
        print(f"   {name:24s}: {share:.3f}  (density {density})")
    print()
    print("Epistemic status: parts 1-3 are exact, exhaustive checks over finite")
    print("ranges of theorems (quadratic reciprocity; the splitting laws; the")
    print("modularity of the S_3 representation, a classical theorem of Hecke).")
    print("They prove nothing beyond the primes tested. Part 4 is statistical:")
    print("Chebotarev's theorem gives the limiting densities, not finite counts.")

if __name__ == "__main__":
    main()
Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.

The second experiment counts points of 11a111a1 modulo every prime below 400400 and compares apa_p with the coefficients of q∏(1−qn)2(1−q11n)2q\prod(1-q^n)^2(1-q^{11n})^2; it checks the Hecke relations of Proposition 4 for these coefficients and for Ramanujan's τ\tau, Ramanujan's congruence modulo 691691, and Deligne's bound.

An elliptic curve and its modular form; Ramanujan's tauPythonExact computationExhaustive finite checkComputationally tested
"""Modularity in action: an elliptic curve, a modular form, and Ramanujan's tau.

1. The elliptic curve 11a1: y^2 + y = x^3 - x^2 - 10x - 20 has a_p = p - (number
   of affine points mod p). The modular form
       f = q prod_{n>=1} (1 - q^n)^2 (1 - q^(11n))^2 = sum a_n q^n
   (weight 2, level 11) has the same a_p for every prime p - an instance of
   the modularity theorem (here classical: Eichler and Shimura). We check
   this exactly for p < 400.
2. Hecke theory predicts that the coefficients of f are multiplicative and
   satisfy a_(p^2) = a_p^2 - p for p != 11. We check this for n <= 400.
3. Ramanujan's Delta = q prod (1 - q^n)^24 = sum tau(n) q^n: multiplicativity
   (Mordell 1917), Ramanujan's congruence tau(n) = sigma_11(n) mod 691, and
   Deligne's bound |tau(p)| <= 2 p^(11/2) (1974), checked for n <= 400.
"""

import math

N = 400

def primes_below(n):
    """All primes p < n."""
    sieve = bytearray([1]) * max(n, 2)
    sieve[0] = sieve[1] = 0
    for i in range(2, int(n ** 0.5) + 1):
        if sieve[i]:
            sieve[i * i::i] = bytearray(len(range(i * i, n, i)))
    return [i for i in range(n) if sieve[i]]

def series_mul(a, b, n):
    """Product of two power series (coefficient lists), truncated to degree < n."""
    out = [0] * n
    for i, ai in enumerate(a[:n]):
        if ai:
            for j, bj in enumerate(b[:n - i]):
                out[i + j] += ai * bj
    return out

def euler_product(n, m=1):
    """Coefficients of prod_{k>=1} (1 - q^(m k)) up to degree < n."""
    c = [0] * n
    c[0] = 1
    for k in range(1, (n - 1) // m + 1):
        step = m * k
        for j in range(n - 1, step - 1, -1):
            c[j] -= c[j - step]
    return c

def form_11a():
    """a[0..N] for q prod (1 - q^n)^2 (1 - q^(11n))^2 (a[0] = 0)."""
    e1, e11 = euler_product(N), euler_product(N, 11)
    c = series_mul(series_mul(e1, e1, N), series_mul(e11, e11, N), N)
    return [0] + c

def ramanujan_tau():
    """tau[0..N] for Delta = q prod (1 - q^n)^24 (tau[0] = 0)."""
    e = euler_product(N)
    e2 = series_mul(e, e, N)
    e3 = series_mul(e2, e, N)
    e6 = series_mul(e3, e3, N)
    e12 = series_mul(e6, e6, N)
    return [0] + series_mul(e12, e12, N)

def curve_trace(p):
    """a_p of 11a1: y^2 + y = x^3 - x^2 - 10x - 20, as p - #affine points."""
    if p == 2:
        affine = sum(1 for x in range(2) for y in range(2)
                     if (y * y + y - (x ** 3 - x * x - 10 * x - 20)) % 2 == 0)
        return p - affine
    # (2y + 1)^2 = 4(x^3 - x^2 - 10x - 20) + 1: count square roots
    roots = [0] * p
    for y in range(p):
        roots[y * y % p] += 1
    affine = sum(roots[(4 * (x ** 3 - x * x - 10 * x - 20) + 1) % p]
                 for x in range(p))
    return p - affine

def multiplicativity_failures(a, n):
    """Coprime pairs (m, k) with m * k <= n and a[m k] != a[m] a[k]."""
    return [(m, k) for m in range(2, n + 1) for k in range(m + 1, n // m + 1)
            if math.gcd(m, k) == 1 and a[m * k] != a[m] * a[k]]

def sigma(n, k):
    """Sum of the k-th powers of the divisors of n."""
    return sum(d ** k for d in range(1, n + 1) if n % d == 0)

def main():
    primes = primes_below(N)
    a = form_11a()
    terms = " ".join(f"{a[n]:+d}q^{n}" for n in range(1, 7))
    print("1. f = q prod (1 - q^n)^2 (1 - q^11n)^2")
    print("     = " + terms + " ...")
    match = sum(1 for p in primes if curve_trace(p) == a[p])
    print(f"   a_p(11a1) = a_p(f) for {match} of the {len(primes)} primes p < {N}")
    print()
    bad = multiplicativity_failures(a, N)
    square_law = all(a[p * p] == a[p] ** 2 - p for p in primes
                     if p * p <= N and p != 11)
    print(f"2. Hecke relations for f, n <= {N}: a_mn = a_m a_n (coprime): "
          f"{len(bad)} failures;")
    print(f"   a_(p^2) = a_p^2 - p for p != 11: {square_law}; "
          f"a_121 = a_11^2 = {a[121]}")
    print()
    tau = ramanujan_tau()
    print(f"3. Ramanujan: tau(1..6) = {tau[1:7]}")
    print(f"   multiplicativity failures (n <= {N}): "
          f"{len(multiplicativity_failures(tau, N))}")
    cong = all((tau[n] - sigma(n, 11)) % 691 == 0 for n in range(1, N + 1))
    print(f"   tau(n) = sigma_11(n) mod 691 for all n <= {N}: {cong}")
    ratio = max(abs(tau[p]) / (2 * p ** 5.5) for p in primes)
    print(f"   Deligne: max |tau(p)| / (2 p^(11/2)) over p < {N} = {ratio:.4f}")
    print()
    print("Epistemic status: exact integer arithmetic. Every check is a finite")
    print("verification of a theorem (modularity of 11a1, Hecke theory, Mordell,")
    print("Ramanujan's congruence, Deligne's bound); agreement for n <= 400")
    print("illustrates these theorems but proves nothing beyond the range tested.")

if __name__ == "__main__":
    main()
Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.

All the checks are exact, and all are finite. They illustrate theorems (reciprocity, Hecke's and Eichler–Shimura's modularity results, Mordell's and Deligne's theorems) and could have refuted a wrong formula — the history of the subject is full of conjectures first seen in such tables — but they prove nothing beyond the range tested.

Explore

Seeing Frobenius

Primes in columns. Run the sieve on a grid with 44 columns: every number in a column has the same residue mod 44. The primes (apart from 22) fall into two columns: residue 11 (the primes that split in Z[i]\Z[i], sums of two squares like 5=1+45 = 1 + 4, 13=4+913 = 4 + 9) and residue 33 (the primes that stay prime in Z[i]\Z[i]). The column of pp is its Frobenius in Gal⁡(Q(i)/Q)\operatorname{Gal}(\Q(i)/\Q), and Dirichlet's theorem says both columns contain infinitely many primes. Try 55 columns for Q(ζ5)\Q(\zeta_5): the primes other than 55 spread over the four columns 1,2,3,41, 2, 3, 4 about equally — Chebotarev's density theorem in its abelian (Dirichlet) form.

Primes sorted by their Frobenius in Q(i)

The column of a prime is p mod 4: column 1 splits in Z[i], column 3 stays prime.

  • prime
  • crossed out

Step 1 of 9

Here are the numbers from 1 to 200. Press “Next step” to start sieving.

The Galois group of Q(ζ5)\Q(\zeta_5). The fifth roots of unity form a regular pentagon. The Galois automorphism σa\sigma_a sends ζ↦ζa\zeta \mapsto \zeta^a for a∈(Z/5)×={1,2,3,4}a \in (\Z/5)^\times = \{1, 2, 3, 4\}: it permutes the vertices by multiplying angles by aa. σ4\sigma_4 is complex conjugation (reflection in the real axis), and σ2\sigma_2 cycles ζ→ζ2→ζ4→ζ3→ζ\zeta \to \zeta^2 \to \zeta^4 \to \zeta^3 \to \zeta. The Frobenius at a prime pp is σp mod 5\sigma_{p \bmod 5}.

The fifth roots of unity

Gal(Q(ζ₅)/Q) ≅ (Z/5)ˣ acts by ζ ↦ ζᵃ. Change n to see other cyclotomic fields.

Try
72°w₀w₁w₂w₃w₄c

Drag the points, or focus one with Tab and use the arrow keys (hold Shift for small steps).

c =+i

Solutions of wⁿ = c for n = 5:

  • w₀ = 1
  • w₁ = 0.309 + 0.951i
  • w₂ = −0.809 + 0.588i
  • w₃ = −0.809 − 0.588i
  • w₄ = 0.309 − 0.951i

All roots lie on the circle of radius |c|^(1/n) ≈ 1.

Neighbouring roots are 72° apart: 360° ÷ 5.

w₀ is the principal root, at the angle (arg c)/n; the others follow by equal turns.

Because c = 1, these are the roots of unity of order 5.

The roots add up to 0, so the regular polygon is balanced around the origin.

Exercises

Exercises

1. The Langlands programme: an orientation

Warm-upHuman

Use quadratic reciprocity to compute the Legendre symbol (311)\left(\frac{3}{11}\right). Enter 11 or −1-1.

2. The Langlands programme: an orientation

Warm-upHuman

Into how many distinct prime ideals does p=7p = 7 split in the cyclotomic field Q(ζ12)\Q(\zeta_{12}), which has degree φ(12)=4\varphi(12) = 4?

3. The Langlands programme: an orientation

CoreHuman

Let g=∑a=16(a7)ζ7ag = \sum_{a=1}^{6} \left(\frac{a}{7}\right)\zeta_7^a be the quadratic Gauss sum for q=7q = 7. What is the integer g2g^2?

4. The Langlands programme: an orientation

CoreHuman

In the Galois-theoretic proof of quadratic reciprocity we used that Q(q∗)\Q(\sqrt{q^*}) is the unique quadratic subfield of Q(ζq)\Q(\zeta_q). Why is that true?

Choose one

5. The Langlands programme: an orientation

CoreHuman

Which statement about the number of roots of x3−x−1x^3 - x - 1 modulo a prime p≠23p \neq 23 is true?

Choose one

6. The Langlands programme: an orientation

CoreHuman

By Chebotarev's density theorem, what proportion of primes pp have the property that x3−x−1x^3 - x - 1 has exactly one root mod pp?

Choose one

7. The Langlands programme: an orientation

CoreFormal

Which of the lesson's Lean theorems is the formal version of the statement "the Frobenius element at pp in Gal⁡(Q(ζn)/Q)≅(Z/n)×\operatorname{Gal}(\Q(\zeta_n)/\Q) \cong (\Z/n)^\times is the class of pp" used in the proof of quadratic reciprocity?

Choose one

8. The Langlands programme: an orientation

StretchComputational

Write tau_list(N) returning the list [0, τ(1), …, τ(N-1)] of coefficients of Δ=q∏n≥1(1−qn)24\Delta = q\prod_{n \ge 1}(1 - q^n)^{24}, so that tau_list(N)[n] is τ(n)\tau(n). Then test Mordell's theorem τ(mn)=τ(m)τ(n)\tau(mn) = \tau(m)\tau(n) for coprime m,nm, n with mn<60mn \lt 60.

Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.

9. The Langlands programme: an orientation

StretchHuman

Which of the following are proved theorems? Choose all that apply.

Choose all that apply
Common misconceptionsH

Common misconceptions

Misconception

"The Langlands programme is a single conjecture." It is a web of conjectures and theorems: reciprocity (Galois ↔\leftrightarrow automorphic), functoriality (automorphic for HH →\to automorphic for GG), local versions at each prime, versions over function fields and geometric versions, and refinements (multiplicities, LL-packets, special values). Many cases are proved; most are open. "Proving the Langlands conjectures" is not a well-defined single event.

Misconception

"The proof of geometric Langlands settles the arithmetic Langlands conjectures." Geometric and arithmetic Langlands are analogous but distinct statements about different objects (sheaves on Bun⁡G\operatorname{Bun}_G for a complex curve versus automorphic forms over number fields). Progress in one suggests methods and predictions for the other, but does not imply it.

Misconception

"A modular form is a function invariant under SL2(Z)SL_2(\Z)." Only weight 00 functions (modular functions, like the jj-invariant) are invariant, and those cannot be holomorphic and bounded at the cusp unless constant. A modular form of weight kk transforms by the factor (cz+d)k(cz + d)^k; that factor is what makes Δ\Delta, of weight 1212, possible.

Misconception

"Class field theory explicitly constructs all abelian extensions." It classifies them (by subgroups of idèle class groups) and describes their Frobenius elements. Explicit generators — Kronecker's Jugendtraum, Hilbert's twelfth problem — are known over Q\Q (roots of unity) and imaginary quadratic fields (special values of elliptic functions); beyond that the problem is largely open (with recent pp-adic progress for totally real fields).

Misconception

"Reciprocity means congruence conditions." That is true exactly for abelian extensions. The cubic x3−x−1x^3 - x - 1 shows the non-abelian case: no congruence condition decides its splitting, but the coefficients of a modular form do. Langlands' insight is that the right generalisation of "a congruence condition" is "an automorphic representation".

ViewpointsH

Viewpoints

Number theory— How primes split

For a number theorist, reciprocity is the answer to an ancient question: given a polynomial ff, describe the primes modulo which it splits. The answer has three tiers. For abelian Galois groups, congruence conditions decide (class field theory). For any Galois group, Chebotarev's density theorem (1922) says each conjugacy class CC occurs as Frob⁡p\operatorname{Frob}_p for a proportion ∣C∣/∣G∣|C|/|G| of primes — statistics, but no rule. For a rule one needs the automorphic side: the trace of ρ(Frob⁡p)\rho(\operatorname{Frob}_p) is a Hecke eigenvalue, read off from the qq-expansion of a modular form as in the motivation. See algebraic number theory.

Analysis— Harmonic analysis on locally symmetric spaces

Automorphic forms are eigenfunctions of invariant differential operators — the Laplacian on Γ\H\Gamma\backslash\mathbb{H} for Maass forms, the Cauchy–Riemann operator for holomorphic modular forms — on locally symmetric spaces, and automorphic representations are the irreducible pieces of L2(G(Q)\G(A))L^2(G(\Q)\backslash G(\mathbb{A})). The main analytic tool is the trace formula (Selberg 1956 for SL2(R)SL_2(\R); Arthur for general groups), which equates a spectral side (sums over automorphic representations) with a geometric side (orbital integrals over conjugacy classes); comparing trace formulas of two groups proves cases of functoriality, and stabilising it required the Fundamental Lemma. The LL-functions themselves are studied by Rankin–Selberg integrals and the Langlands–Shahidi method. See harmonic analysis.

Geometry— Weil's Rosetta stone

In a 1940 letter to his sister Simone, André Weil described a three-column "Rosetta stone": number fields, function fields of curves over Fq\mathbb{F}_q, and Riemann surfaces. The middle column is the bridge: there, the arithmetic Langlands conjectures are theorems (Drinfeld, L. Lafforgue, V. Lafforgue), proved with the geometry of moduli spaces of shtukas. In the third column the conjectures become geometric Langlands, where the Langlands dual group appears through the geometric Satake equivalence (Lusztig, Ginzburg, Mirković–Vilonen 2007): the category of perverse sheaves on the affine Grassmannian of GG is equivalent, as a tensor category, to Rep⁡(G^)\operatorname{Rep}(\widehat G). The dual group, invisible in classical terms, is a geometric object. See Lie groups and algebraic geometry.

Topology— Galois groups as fundamental groups

Grothendieck's étale fundamental group unifies Galois theory and covering spaces: Gal⁡(K‾/K)=π1eˊt(Spec⁡K)\operatorname{Gal}(\overline K/K) = \pi_1^{\text{ét}}(\operatorname{Spec} K), and finite extensions are finite covers. A Galois representation is then a local system, the arithmetic analogue of a representation of π1\pi_1 of a manifold — and in geometric Langlands it literally is one: a flat G^\widehat G-bundle on a Riemann surface. The Frobenius at pp plays the role of a loop around a point. A more speculative dictionary, arithmetic topology (Mazur, Kapranov, Reznikov, Morishita), treats Spec⁡Z\operatorname{Spec}\Z as a 33-manifold and primes as knots, with the Legendre symbol behaving like a linking number — quadratic reciprocity as the symmetry of linking numbers. That dictionary is an analogy, a source of conjectures rather than a theorem. See algebraic topology.

Physics— Electric–magnetic duality

In 1977 Goddard, Nuyts and Olive, studying magnetic monopoles in gauge theory, found that the magnetic charges of a theory with gauge group GG are governed by a dual group — Langlands' G^\widehat G, discovered independently. The Montonen–Olive conjecture proposes that N=4\mathcal{N} = 4 supersymmetric Yang–Mills theories with groups GG and G^\widehat G are equivalent ("S-duality"), and Kapustin and Witten (2007) showed how, after compactification on a Riemann surface, S-duality predicts the geometric Langlands correspondence, with 't Hooft line operators acting as Hecke operators. This is a powerful heuristic and a source of new conjectures; the mathematical proofs proceed independently.

Category theory— An equivalence of categories

Geometric Langlands is formulated categorically: for a smooth projective complex curve XX, an equivalence D-mod⁡(Bun⁡G)≃IndCoh⁡N(LocSys⁡G^)\operatorname{D-mod}(\operatorname{Bun}_G) \simeq \operatorname{IndCoh}_{\mathcal{N}}(\operatorname{LocSys}_{\widehat G}) between D-modules on the moduli stack of GG-bundles and (a variant of) quasi-coherent sheaves on the stack of G^\widehat G-local systems, compatible with Hecke functors. It is a categorification of the "spectral decomposition" in the classical theory: Hecke eigensheaves correspond to skyscraper sheaves at points of LocSys⁡\operatorname{LocSys}. The formulation needs derived algebraic geometry and stable ∞\infty-categories. See categorical representation theory.

History & global context

History and global context

  • 1640–1801. Fermat states the two-squares theorem (Euler proves it, 1749); Euler conjectures quadratic reciprocity (1783); Legendre introduces his symbol; Carl Friedrich Gauss proves reciprocity (1796; Disquisitiones Arithmeticae, 1801), later giving several more proofs, including one by Gauss sums.
  • 1837–1897. Dirichlet proves his theorem on primes in progressions with LL-functions; Kronecker states (1853) and Weber (1886) and Hilbert (1896) prove what is now the Kronecker–Weber theorem; Hilbert's Zahlbericht (1897) and his ninth and twelfth problems (1900) set the agenda for higher reciprocity laws.
  • 1916–1937. Srinivasa Ramanujan's conjectures on τ(n)\tau(n) (1916); Mordell's proof of multiplicativity (1917); Teiji Takagi's class field theory (1920); Chebotarev's density theorem (1922); Emil Artin's reciprocity law (1927); Erich Hecke's operators and LL-functions (1930s); Claude Chevalley's idèles (1936).
  • 1940–1967. Weil's Rosetta-stone letter (1940); John Tate's thesis (1950) recasts Hecke's work on GL1GL_1 as harmonic analysis on adèles; Martin Eichler (1954) and Goro Shimura relate elliptic curves and modular forms; Yutaka Taniyama's problems (1955); Atle Selberg's trace formula (1956); Harish-Chandra's representation theory of real reductive groups and his "philosophy of cusp forms".
  • 1967–1974. Robert Langlands' letter to Weil (January 1967) and Problems in the theory of automorphic forms (1970); Jacquet–Langlands (1970); Deligne attaches Galois representations to modular forms (1969–71) and proves the Ramanujan conjecture (1974); Deligne–Serre (weight one, 1974); Vladimir Drinfeld begins the function-field theory.
  • 1977–2002. Goddard–Nuyts–Olive's dual group in physics (1977); Langlands–Tunnell (1980–81); Arthur–Clozel base change (1989); Wiles and Taylor–Wiles (1995); local Langlands for GLnGL_n (Harris–Taylor, Henniart, 1998–2000); Laurent Lafforgue's GLnGL_n over function fields (2002).
  • 2008–present. Ngô Bảo Châu's proof of the Fundamental Lemma (2008–10); Khare–Wintenberger's proof of Serre's conjecture (2009); the Sato–Tate theorem (2008–11); Vincent Lafforgue's automorphic-to-Galois correspondence over function fields (2018); Newton–Thorne's symmetric power functoriality and Fargues–Scholze's geometrisation of local Langlands (2021); the announced proof of geometric Langlands by Gaitsgory, Raskin and collaborators (2024).
Further reading

Further reading

  • Edward Frenkel, Love and Math (2013) — a personal, non-technical tour of the programme, especially its geometric side.
  • David A. Cox, Primes of the Form x2+ny2x^2 + ny^2 (1989; 2nd ed. 2013) — reciprocity, class field theory and complex multiplication through one beautiful question; includes p=x2+27y2p = x^2 + 27y^2.
  • Stephen Gelbart, "An elementary introduction to the Langlands program", Bulletin of the AMS 10 (1984).
  • Jean-Pierre Serre, "On a theorem of Jordan", Bulletin of the AMS 40 (2003) — includes the example of x3−x−1x^3 - x - 1 and η(z)η(23z)\eta(z)\eta(23z).
  • Fred Diamond and Jerry Shurman, A First Course in Modular Forms (2005) — modular forms, Hecke operators, Galois representations and the statement of modularity.
  • Joseph Bernstein and Stephen Gelbart (eds.), An Introduction to the Langlands Program (2003) — lectures by leading experts on the parts of the programme, from classical modular forms to geometric Langlands.
  • Daniel Bump, Automorphic Forms and Representations (1997) — the adelic theory for GL2GL_2.
  • Jürgen Neukirch, Algebraic Number Theory (1999) — class field theory.
  • James Arthur, "The principle of functoriality", Bulletin of the AMS 40 (2003).
  • Robert P. Langlands, "Problems in the theory of automorphic forms", in Lectures in Modern Analysis and Applications III, Lecture Notes in Mathematics 170 (1970).

A reading path: Cox (Chapters 1–2, 5) and Gelbart's survey for the shape of reciprocity → Diamond–Shurman for GL2GL_2 over Q\Q → Neukirch or Cassels–Fröhlich for class field theory → Bump and the Bernstein–Gelbart volume for automorphic representations → Arthur's survey for functoriality, and Frenkel's survey articles for the geometric side.