Algebraic integers in the ray fundamental domain #
Counting the integral ideals of a ray class goes through the points of the ray fundamental domain
that are images of algebraic integers. This file introduces that carrier, rayIntegerSet πͺ, and
the map recovering the integer a point comes from.
An element of rayIntegerSet πͺ has a unique preimage in π K, because mixedEmbedding is
injective, and that preimage is nonzero, since the ray fundamental domain has no point of
vanishing norm (norm_pos_of_mem_rayFundamentalDomain). The preimage is therefore recorded in
(π K)β°, so that its nonzero-ness travels with the value.
For the trivial modulus this is Mathlib's NumberField.mixedEmbedding.fundamentalCone.integerSet.
The carrier also carries an action: a congruence unit sends a point of the domain back into the
domain exactly when it is a root of unity, so the roots of unity congruent to one modulo πͺ act
on rayIntegerSet πͺ, and that action is free. Counting a ray class will divide by the size of
its orbits, which is what makes freeness the fact worth isolating here.
Main definitions #
TauCeti.GlobalNumberFields.rayIntegerSet: the points of the ray fundamental domain that are images of algebraic integers;TauCeti.GlobalNumberFields.preimageOfMemRayIntegerSet: the nonzero algebraic integer a point ofrayIntegerSetis the image of;TauCeti.GlobalNumberFields.unitsCongruenceTorsion: the roots of unity congruent to one moduloπͺ, which act onrayIntegerSet πͺ.
Main results #
TauCeti.GlobalNumberFields.mem_rayIntegerSet: the defining membership condition;TauCeti.GlobalNumberFields.mixedEmbedding_preimageOfMemRayIntegerSet: the preimage map is a section ofmixedEmbedding;TauCeti.GlobalNumberFields.rayIntegerSet_one: the trivial modulus recovers Mathlib'sintegerSet;TauCeti.GlobalNumberFields.preimageOfMemRayIntegerSet_smul: a congruence root of unity acts by multiplying the underlying algebraic integer;TauCeti.GlobalNumberFields.stabilizer_rayIntegerSet_eq_bot: the action is free, also available as anIsCancelSMulinstance.
References #
- S. Lang, Algebraic Number Theory, Chapter VI, Β§2.
Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean: theintegerSetlayer there β that set, its preimage API and its torsion action β is the model forrayIntegerSet, with the fundamental cone replaced by the ray fundamental domain and the full torsion group by the congruence torsion.
The points of the ray fundamental domain of πͺ that are images of algebraic integers.
Equations
Instances For
Membership in rayIntegerSet: a point of the ray fundamental domain that is the image of an
algebraic integer.
A point of the ray fundamental domain that is the image of an algebraic integer is the image
of exactly one, since mixedEmbedding is injective.
A point of rayIntegerSet is nonzero, since the ray fundamental domain has no point of
vanishing norm.
The unique algebraic integer a point of rayIntegerSet πͺ is the image of, recorded as an
element of the nonzero divisors (π K)β°.
Equations
Instances For
The preimage map is a section of mixedEmbedding: embedding the integer it returns recovers
the point.
The preimage map is a retraction of mixedEmbedding: an integer whose image lies in the
carrier is returned unchanged.
Agreement with Mathlib at the trivial modulus. The trivial modulus recovers
NumberField.mixedEmbedding.fundamentalCone.integerSet, since its ray fundamental domain is the
fundamental cone.
The free action of the congruence roots of unity #
rayIntegerSet πͺ is stable under the congruence roots of unity.
The action of the congruence roots of unity on rayIntegerSet πͺ.
Equations
- One or more equations did not get rendered due to their size.
The scalar action of the congruence roots of unity is a group action, which is what
stabilizer_rayIntegerSet_eq_bot below speaks about. It is transported along the injection
into the mixed space, where the action laws are Mathlib's.
A congruence root of unity acts on rayIntegerSet πͺ by multiplying the underlying algebraic
integer.
The action is free. A congruence root of unity fixing a point of rayIntegerSet πͺ is
the identity, because the point is the image of a nonzero algebraic integer.
Freeness as a typeclass. Exposing stabilizer_rayIntegerSet_eq_bot as IsCancelSMul
lets the generic free-action and orbit-cardinality results apply to this action by instance
resolution, which is how the ray class count consumes it.