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 #
NumberField.Chebotarev.ramifiedPrimes: the finite set of height-one primes of๐ Kthat ramify inL.
Main results #
TauCeti.eventually_isUnramifiedAt_liesOver: almost every finite place has only unramified places above it.NumberField.Chebotarev.mem_ramifiedPrimes_iff: the defining condition for membership.NumberField.Chebotarev.isUnramifiedAt_of_under_eq: a prime ofLover a prime ofKabove which every prime ofLis unramified is unramified overK.NumberField.Chebotarev.under_notMem_ramifiedPrimes_iff_isUnramifiedAt: in a Galois extension, unramifiedness can be tested at one prime above the base prime.NumberField.Chebotarev.ramifiedPrimes_subset_ramifiedPrimes: for a towerK โ L โ M, every prime ofKramifying inLalso ramifies inM.
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
NumberField.ramifiedPrimes (K) : Set โ, the rational primes ramifying inK,@[simp] NumberField.mem_ramifiedPrimes_iff, proved byIff.rfl, andNumberField.finite_ramifiedPrimes,
i.e. the same short names, in the same shape. They are kept apart rather than unified:
- They are the same shape โ "not
Algebra.IsUnramifiedInthe top ring at an ideal of the base" โ but at different bases. The absolute one isโค-to-๐ K; this one is๐ K-to-๐ L. Neither is an instance of the other without also transporting the carrier. - The carriers genuinely differ:
Set โagainstFinset (HeightOneSpectrum (๐ K)). ForK = โthe two agree only through๐ โ โ โคandHeightOneSpectrum โค โthe rational primes, and neither identification is definitional. - Generalising the absolute version instead would change its carrier, and Tau Ceti keeps no
compatibility shims, so every use would have to move in this PR โ ten files on
mainreference that API, seven of them underMultiquadratic/. ItsSet โpackaging is, in its own docstring, "the form in whichtis counted" for genus theory.
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
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.
Almost every finite place of a number field has only unramified primes above it.