Documentation

TauCeti.NumberTheory.NumberField.Global.Counting.Ray.Ideal.Set

Elements of an ideal congruent to one, in the ray fundamental domain #

For a modulus π”ͺ with finite part π”ͺβ‚€ and a nonzero integral ideal π”ž, this file names the set of points of the ray fundamental domain of π”ͺ that are images of elements of π”ž congruent to one modulo π”ͺβ‚€, and records two descriptions of it.

Only the finite part appears in the set-builder: the conditions the infinite part imposes are already carried by the ray fundamental domain, which lies in posRegion π”ͺ (mem_posRegion_of_mem_rayFundamentalDomain).

Nothing here asks that π”ž represent a given ray class, nor divides out the congruence roots of unity acting on the domain; a ray-class ideal count imposes both itself.

Main definitions #

Main results #

Implementation notes #

The set takes no base point, while its description as a translate does, which is why rayIdealSet_eq_inter_vadd takes a witness ΞΎ. Taking ΞΎ = 0 would describe a different set instead of dispensing with the witness: coe_congruenceLattice_mk0_eq_image identifies congruenceLattice π”ͺ (FractionalIdeal.mk0 K π”ž) with the image of π”ž * π”ͺβ‚€, and an element of π”ž * π”ͺβ‚€ congruent to one modulo π”ͺβ‚€ forces 1 ∈ π”ͺβ‚€, so the two agree only for a trivial finite part.

References #

The images, inside the ray fundamental domain of π”ͺ, of the elements of π”ž that are congruent to one modulo the finite part of π”ͺ. This is the ray analogue of NumberField.mixedEmbedding.fundamentalCone.idealSet.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem TauCeti.GlobalNumberFields.mem_rayIdealSet {K : Type u_1} [Field K] [NumberField K] {π”ͺ : Modulus K} {π”ž : β†₯(nonZeroDivisors (Ideal (NumberField.RingOfIntegers K)))} {x : NumberField.mixedEmbedding.mixedSpace K} :
    x ∈ rayIdealSet π”ͺ π”ž ↔ x ∈ rayFundamentalDomain π”ͺ ∧ βˆƒ (Ξ± : NumberField.RingOfIntegers K), (Ξ± ∈ β†‘π”ž ∧ Ξ± - 1 ∈ π”ͺ.finitePart) ∧ (NumberField.mixedEmbedding K) ↑α = x

    The points of rayIdealSet. A point lies in it exactly when it lies in the ray fundamental domain and is the image of an element of π”ž congruent to one modulo π”ͺβ‚€.

    @[simp]

    The trivial modulus recovers Mathlib's ideal set. Its finite part is the whole ring, so the congruence condition holds vacuously, and its ray fundamental domain is the fundamental cone (rayFundamentalDomain_one); what is left is NumberField.mixedEmbedding.fundamentalCone.idealSet.

    theorem TauCeti.GlobalNumberFields.rayIdealSet_eq_inter_vadd {K : Type u_1} [Field K] [NumberField K] (π”ͺ : Modulus K) (π”ž : β†₯(nonZeroDivisors (Ideal (NumberField.RingOfIntegers K)))) {ΞΎ : NumberField.RingOfIntegers K} (hΞΎπ”ž : ΞΎ ∈ β†‘π”ž) (hΞΎπ”ͺ : ΞΎ - 1 ∈ π”ͺ.finitePart) :
    rayIdealSet π”ͺ π”ž = rayFundamentalDomain π”ͺ ∩ ((NumberField.mixedEmbedding K) ↑ξ +α΅₯ ↑(congruenceLattice π”ͺ ((FractionalIdeal.mk0 K) π”ž)))

    rayIdealSet as the domain met with a translate of the congruence lattice. For any element ΞΎ of π”ž congruent to one modulo π”ͺβ‚€, the set is the ray fundamental domain intersected with the translate of congruenceLattice π”ͺ (FractionalIdeal.mk0 K π”ž) by the image of ΞΎ.

    The lattice on the right does not involve ΞΎ, so a different witness only renames the translate; and such a ΞΎ exists exactly when π”ž and π”ͺβ‚€ are coprime (Ideal.isCoprime_iff_exists_mem_and_sub_one_mem). Without one, rayIdealSet π”ͺ π”ž is empty.

    theorem TauCeti.GlobalNumberFields.rayIdealSet_subset_rayIntegerSet {K : Type u_1} [Field K] [NumberField K] (π”ͺ : Modulus K) (π”ž : β†₯(nonZeroDivisors (Ideal (NumberField.RingOfIntegers K)))) :
    rayIdealSet π”ͺ π”ž βŠ† rayIntegerSet π”ͺ

    Every point of rayIdealSet π”ͺ π”ž lies in rayIntegerSet π”ͺ: it lies in the ray fundamental domain and is the image of an algebraic integer. Both the membership in π”ž and the congruence condition are forgotten.

    This inclusion is what lets rayIdealSetEquiv land in a subtype of rayIntegerSet π”ͺ; Mathlib packages the corresponding map as a definition, NumberField.mixedEmbedding.fundamentalCone.idealSetMap.

    theorem TauCeti.GlobalNumberFields.preimageOfMemRayIntegerSet_mem_and_sub_one_mem_of_mem_rayIdealSet {K : Type u_1} [Field K] [NumberField K] {π”ͺ : Modulus K} {π”ž : β†₯(nonZeroDivisors (Ideal (NumberField.RingOfIntegers K)))} {a : ↑(rayIntegerSet π”ͺ)} (ha : ↑a ∈ rayIdealSet π”ͺ π”ž) :

    The algebraic integer underlying a point of rayIdealSet π”ͺ π”ž lies in π”ž and is congruent to one modulo π”ͺβ‚€.

    With rayIdealSet_subset_rayIntegerSet, this is what makes rayIdealSetEquiv well defined. The conjunction is stated bundled because it is the predicate defining the set rayIdealSet is built from, and is verbatim the subtype predicate of that equivalence's codomain.

    noncomputable def TauCeti.GlobalNumberFields.rayIdealSetEquiv {K : Type u_1} [Field K] [NumberField K] (π”ͺ : Modulus K) (π”ž : β†₯(nonZeroDivisors (Ideal (NumberField.RingOfIntegers K)))) :
    ↑(rayIdealSet π”ͺ π”ž) ≃ { a : ↑(rayIntegerSet π”ͺ) // ↑(preimageOfMemRayIntegerSet a) ∈ β†‘π”ž ∧ ↑(preimageOfMemRayIntegerSet a) - 1 ∈ π”ͺ.finitePart }

    rayIdealSet as a subtype of the ray integer set. A point of rayIntegerSet π”ͺ comes from a point of rayIdealSet π”ͺ π”ž exactly when the algebraic integer it is the image of lies in π”ž and is congruent to one modulo π”ͺβ‚€, so the two carriers are in bijection.

    This is the ray analogue of NumberField.mixedEmbedding.fundamentalCone.idealSetEquiv, with the forward map applied inline rather than named separately.

    Equations
    Instances For
      @[simp]
      theorem TauCeti.GlobalNumberFields.rayIdealSetEquiv_apply {K : Type u_1} [Field K] [NumberField K] {π”ͺ : Modulus K} {π”ž : β†₯(nonZeroDivisors (Ideal (NumberField.RingOfIntegers K)))} (x : ↑(rayIdealSet π”ͺ π”ž)) :
      ↑↑((rayIdealSetEquiv π”ͺ π”ž) x) = ↑x

      rayIdealSetEquiv leaves the underlying point of the mixed space unchanged; this is the ray analogue of NumberField.mixedEmbedding.fundamentalCone.idealSetEquiv_apply.

      @[simp]
      theorem TauCeti.GlobalNumberFields.rayIdealSetEquiv_symm_apply {K : Type u_1} [Field K] [NumberField K] {π”ͺ : Modulus K} {π”ž : β†₯(nonZeroDivisors (Ideal (NumberField.RingOfIntegers K)))} (a : { a : ↑(rayIntegerSet π”ͺ) // ↑(preimageOfMemRayIntegerSet a) ∈ β†‘π”ž ∧ ↑(preimageOfMemRayIntegerSet a) - 1 ∈ π”ͺ.finitePart }) :
      ↑((rayIdealSetEquiv π”ͺ π”ž).symm a) = ↑↑a

      The inverse of rayIdealSetEquiv also leaves the underlying point of the mixed space unchanged; this is the ray analogue of NumberField.mixedEmbedding.fundamentalCone.idealSetEquiv_symm_apply.