Zulip Chat Archive

Stream: mathlib4

Topic: Placing a definition in `DedekindDomain.Ideal`


Xavier Généreux (Apr 11 2025 at 13:05):

Hi everyone :sunny:,

I would like to know if anyone has any recommandation on where I could PR the following fact:

import Mathlib

variable {R : Type*} [CommRing R] [IsDedekindDomain R]

open Polynomial Ideal in
def IsDedekindDomain.HeightOneSpectrum.of_irreducible [DecompositionMonoid R]
    {p : R} (hp : Irreducible p) : HeightOneSpectrum R where
  asIdeal := Ideal.span { p }
  isPrime := Ideal.isPrime_of_prime
    <| by simp [Ideal.prime_span_singleton_iff, (Irreducible.prime hp)]
  ne_bot := by simp only [ne_eq, span_singleton_eq_bot, Irreducible.ne_zero hp, not_false_eq_true]

theorem IsDedekindDomain.HeightOneSpectrum.of_irreducible_asIdeal
    [DecompositionMonoid R] {p : R} (hp : Irreducible p) :
  (IsDedekindDomain.HeightOneSpectrum.of_irreducible hp).asIdeal = Ideal.span { p } := rfl

I think this would fit well somewhere in the DedekindDomain.Ideal file. I was thinking that maybe close to the PID section (found at line 1320) would be a good fit? Let me know what you think!

Thanks:)
Xavier

Xavier Généreux (Apr 11 2025 at 14:13):

And btw #find_home! also suggests this file. The question is where in the file would make the most sense!

Jz Pan (Apr 12 2025 at 05:28):

I think it should named ofIrreducible since HeightOneSpectrum R is a Type.

Xavier Généreux (Apr 12 2025 at 06:33):

Yeah I agree

Filippo A. E. Nuccio (Apr 12 2025 at 10:57):

I confess I have a math question here, and apologies if it is stupid: are there Dedekind domains that are decomposition monoids without being UFD's, so not PID's?

Antoine Chambert-Loir (Apr 12 2025 at 11:28):

I believe there aren't. See the paper of Cohn, theorem 2.3 https://lohar.com/researchpdf/bezout_rings_and_their_subrings.pdf

Andrew Yang (Apr 12 2025 at 12:21):

I don't think we should have this. We should instead have ofPrime (that could go in Mathlib.RingTheory.DedekindDomain.Ideal):

import Mathlib

variable {R : Type*} [CommRing R] [IsDedekindDomain R]

open Polynomial Ideal IsDedekindDomain

@[simps]
def IsDedekindDomain.HeightOneSpectrum.ofPrime (p : Ideal R) (hp : Prime p) : HeightOneSpectrum R where
  asIdeal := p
  isPrime := Ideal.isPrime_of_prime hp
  ne_bot := hp.ne_zero

And the construction in the OP is then

example [DecompositionMonoid R]
    {p : R} (hp : Irreducible p) : HeightOneSpectrum R :=
  .ofPrime (.span {p}) (by simpa using hp.prime)

Antoine Chambert-Loir (Apr 12 2025 at 12:54):

I guess a lemma doing the last part would be useful, passing from Irreducible to Prime (span R {p}).

Jz Pan (Apr 12 2025 at 15:14):

I think the IsDedekindDomain.HeightOneSpectrum.of_irreducible_asIdeal can be obtained by add a @[simps] to the def ....

Xavier Généreux (Apr 14 2025 at 11:58):

Thank you all for the answers.
See #24036 for the suggested lemma for ofPrime. I can add the corollaries for elements of R (like for {p : R} (hp : Irreducible p)) if people think this is interesting but @Andrew Yang is right that it is somewhat straightforward using directly ofPrime.


Last updated: May 02 2025 at 03:31 UTC