Documentation

Mathlib.NumberTheory.LSeries.PrimesInAP

Dirichlet's Theorem on primes in arithmetic progression #

The goal of this file is to prove Dirichlet's Theorem: If q is a positive natural number and a : ZMod q is invertible, then there are infinitely many prime numbers p such that (p : ZMod q) = a.

This will be done in the following steps:

  1. Some auxiliary lemmas on infinite products and sums
  2. Results on the von Mangoldt function restricted to a residue class
  3. (TODO) Results on its L-series and an auxiliary function related to it
  4. (TODO) Derivation of Dirichlet's Theorem

Auxiliary statements #

An infinite product or sum over a function supported in prime powers can be written as an iterated product or sum over primes and natural numbers.

theorem tprod_eq_tprod_primes_of_mulSupport_subset_prime_powers {α : Type u_1} [CommGroup α] [UniformSpace α] [UniformGroup α] [CompleteSpace α] [T0Space α] {f : α} (hfm : Multipliable f) (hf : Function.mulSupport f {n : | IsPrimePow n}) :
∏' (n : ), f n = ∏' (p : Nat.Primes) (k : ), f (p ^ (k + 1))
theorem tsum_eq_tsum_primes_of_support_subset_prime_powers {α : Type u_1} [AddCommGroup α] [UniformSpace α] [UniformAddGroup α] [CompleteSpace α] [T0Space α] {f : α} (hfm : Summable f) (hf : Function.support f {n : | IsPrimePow n}) :
∑' (n : ), f n = ∑' (p : Nat.Primes) (k : ), f (p ^ (k + 1))
theorem tprod_eq_tprod_primes_mul_tprod_primes_of_mulSupport_subset_prime_powers {α : Type u_1} [CommGroup α] [UniformSpace α] [UniformGroup α] [CompleteSpace α] [T0Space α] {f : α} (hfm : Multipliable f) (hf : Function.mulSupport f {n : | IsPrimePow n}) :
∏' (n : ), f n = (∏' (p : Nat.Primes), f p) * ∏' (p : Nat.Primes) (k : ), f (p ^ (k + 2))
theorem tsum_eq_tsum_primes_add_tsum_primes_of_support_subset_prime_powers {α : Type u_1} [AddCommGroup α] [UniformSpace α] [UniformAddGroup α] [CompleteSpace α] [T0Space α] {f : α} (hfm : Summable f) (hf : Function.support f {n : | IsPrimePow n}) :
∑' (n : ), f n = ∑' (p : Nat.Primes), f p + ∑' (p : Nat.Primes) (k : ), f (p ^ (k + 2))

The L-series of the von Mangoldt function restricted to a residue class #

@[reducible, inline]
noncomputable abbrev ArithmeticFunction.vonMangoldt.residueClass {q : } (a : ZMod q) :

The von Mangoldt function restricted to the residue class a mod q.

Equations
Instances For
    theorem ArithmeticFunction.vonMangoldt.residueClass_apply {q : } {a : ZMod q} [NeZero q] (ha : IsUnit a) (n : ) :
    (ArithmeticFunction.vonMangoldt.residueClass a n) = (↑q.totient)⁻¹ * χ : DirichletCharacter q, χ a⁻¹ * χ n * (ArithmeticFunction.vonMangoldt n)

    We can express ArithmeticFunction.vonMangoldt.residueClass as a linear combination of twists of the von Mangoldt function with Dirichlet charaters.

    theorem ArithmeticFunction.vonMangoldt.residueClass_eq {q : } {a : ZMod q} [NeZero q] (ha : IsUnit a) :
    (fun (n : ) => (ArithmeticFunction.vonMangoldt.residueClass a n)) = (↑q.totient)⁻¹ χ : DirichletCharacter q, χ a⁻¹ fun (n : ) => χ n * (ArithmeticFunction.vonMangoldt n)

    We can express ArithmeticFunction.vonMangoldt.residueClass as a linear combination of twists of the von Mangoldt function with Dirichlet charaters.

    The L-series of the von Mangoldt function restricted to the residue class a mod q with a invertible in ZMod q is a linear combination of logarithmic derivatives of L-functions of the Dirichlet characters mod q (on re s > 1).