Documentation

TauCeti.NumberTheory.Chebotarev.RamifiedPrimes

The primes of a number field ramifying in a finite extension #

For an extension L / K of number fields, a height-one prime ๐”ญ of ๐“ž K is ramified in L when some prime Q of ๐“ž L lying over it is ramified, i.e. when

ยฌ โˆ€ (Q : Ideal (๐“ž L)) [Q.IsPrime] [Q.LiesOver ๐”ญ.asIdeal], Algebra.IsUnramifiedAt (๐“ž K) Q.

Only finitely many ๐”ญ are ramified, because each of them is the contraction of a prime dividing the different ideal differentIdeal (๐“ž K) (๐“ž L), which is nonzero and so has finitely many prime divisors. That finiteness is what lets the ramified primes be packaged as a Finset, which is the form Chebotarev's exceptional set is used in: the density statements discard ramifiedPrimes K L and argue about the complement.

The ramification condition is spelled out with Mathlib's Algebra.IsUnramifiedAt rather than wrapped in a named predicate, matching how the roadmap states it. A Prop-valued abbreviation for "๐”ญ is unramified in L" would duplicate Algebra.IsUnramifiedIn.

Main definitions #

Main results #

Relation to the absolute NumberField.ramifiedPrimes #

Every name used here already exists one namespace up, and this is deliberate rather than an oversight. TauCeti/NumberTheory/NumberField/RamifiedPrimes.lean carries

i.e. the same short names, in the same shape. They are kept apart rather than unified:

Two consequences to be aware of when using this file. First, NumberField.Chebotarev is nested inside NumberField, so within it a bare ramifiedPrimes or mem_ramifiedPrimes_iff resolves to the declaration here and shadows the absolute one; a Chebotarev file that also wants the absolute notion must write _root_.NumberField.ramifiedPrimes. (The finiteness lemma is private, so its name collides only inside this file.) Second, both _iff lemmas are @[simp], but their left-hand sides head-match on different types โ€” membership in a Set โ„• against membership in a Finset (HeightOneSpectrum (๐“ž K)) โ€” so simp never has to choose between them.

References #

Adapted from finite_ramifiedIn in CebotarevDensity/Frobenius.lean of CBirkbeck/chebotarev-density (Apache-2.0, Birkbeck--Brasca) at commit 8575c9df1ae0a61120ab5c964c7911414254bec7, where the statement is a Set.Finite over Ideal (๐“ž K) phrased through a source-local unramifiedness predicate. The covering argument through the different ideal is the source's; the carrier is the roadmap's.

The primes of K that ramify in L. The height-one primes ๐”ญ of ๐“ž K for which some prime of ๐“ž L over ๐”ญ is ramified, collected into a Finset by finite_ramifiedPrimes.

This is the relative notion; _root_.NumberField.ramifiedPrimes is the absolute one, over โ„ค and valued in Set โ„•. See the module docstring.

Instances For
    @[simp]

    The defining condition for membership in ramifiedPrimes.

    A prime of L over a prime p of K above which every prime of L is unramified is unramified over K.

    In a Galois extension, a prime of the base is unramified exactly when one prime above it is unramified.

    Ramification ascends a tower. For number fields K โІ L โІ M, a prime of K that ramifies in L also ramifies in M. Equivalently, a prime unramified in M is unramified in every intermediate field.