Documentation

Mathlib.RingTheory.DedekindDomain.Ideal.Basic

Dedekind domains and invertible ideals #

In this file, we show a ring is a Dedekind domain iff all fractional ideals are invertible, and prove instances such as the unique factorization of ideals. Further results on the structure of ideals in a Dedekind domain are found in Mathlib/RingTheory/DedekindDomain/Ideal/Lemmas.lean.

Main definitions #

Main results: #

Implementation notes #

The definitions that involve a field of fractions choose a canonical field of fractions, but are independent of that choice. The ..._iff lemmas express this independence.

Often, definitions assume that Dedekind domains are not fields. We found it more practical to add a (h : Β¬ IsField A) assumption whenever this is explicitly needed.

References #

Tags #

dedekind domain, dedekind ring

A Dedekind domain is an integral domain such that every fractional ideal has an inverse.

This is equivalent to IsDedekindDomain. In particular we provide a CommGroupWithZero instance, assuming IsDedekindDomain A, which implies IsDedekindDomainInv. For integral domain, IsDedekindDomain(Inv) implies only Ideal.isCancelMulZero.

Equations
    Instances For
      @[reducible, inline]

      IsDedekindDomainInv A implies that fractional ideals over it form a commutative group with zero.

      Equations
        Instances For
          @[deprecated mul_inv_cancelβ‚€ (since := "2025-09-09")]
          theorem IsDedekindDomainInv.mul_inv_eq_one {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [IsDomain A] [Algebra A K] [IsFractionRing A K] (h : IsDedekindDomainInv A) {I : FractionalIdeal (nonZeroDivisors A) K} (hI : I β‰  0) :
          @[deprecated inv_mul_cancelβ‚€ (since := "2025-09-09")]
          theorem IsDedekindDomainInv.inv_mul_eq_one {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [IsDomain A] [Algebra A K] [IsFractionRing A K] (h : IsDedekindDomainInv A) {I : FractionalIdeal (nonZeroDivisors A) K} (hI : I β‰  0) :

          Showing one side of the equivalence between the definitions IsDedekindDomainInv and IsDedekindDomain of Dedekind domains.

          theorem one_mem_inv_coe_ideal {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K] [IsDomain A] {I : Ideal A} (hI : I β‰  βŠ₯) :
          1 ∈ (↑I)⁻¹

          Specialization of exists_primeSpectrum_prod_le_and_ne_bot_of_domain to Dedekind domains: Let I : Ideal A be a nonzero ideal, where A is a Dedekind domain that is not a field. Then exists_primeSpectrum_prod_le_and_ne_bot_of_domain states we can find a product of prime ideals that is contained within I. This lemma extends that result by making the product minimal: let M be a maximal ideal that contains I, then the product including M is contained within I and the product excluding M is not contained within I.

          theorem FractionalIdeal.mul_inv_cancel_of_le_one {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K] [IsDedekindDomain A] {I : Ideal A} (hI0 : I β‰  βŠ₯) (hI : (↑I * (↑I)⁻¹)⁻¹ ≀ 1) :
          ↑I * (↑I)⁻¹ = 1
          theorem FractionalIdeal.coe_ideal_mul_inv {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K] [IsDedekindDomain A] (I : Ideal A) (hI0 : I β‰  βŠ₯) :
          ↑I * (↑I)⁻¹ = 1

          Nonzero integral ideals in a Dedekind domain are invertible.

          We will use this to show that nonzero fractional ideals are invertible, and finally conclude that fractional ideals in a Dedekind domain form a group with zero.

          noncomputable instance FractionalIdeal.semifield {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K] [IsDedekindDomain A] :
          Equations
            @[deprecated mul_inv_cancelβ‚€ (since := "2025-09-14")]
            theorem FractionalIdeal.mul_inv_cancel {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K] [IsDedekindDomain A] {I : FractionalIdeal (nonZeroDivisors A) K} (hne : I β‰  0) :
            @[deprecated mul_le_mul_iff_leftβ‚€ (since := "2025-09-14")]
            theorem FractionalIdeal.mul_right_le_iff {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K] [IsDedekindDomain A] {J : FractionalIdeal (nonZeroDivisors A) K} (hJ : J β‰  0) {I I' : FractionalIdeal (nonZeroDivisors A) K} :
            I * J ≀ I' * J ↔ I ≀ I'
            @[deprecated mul_le_mul_iff_leftβ‚€ (since := "2025-09-14")]
            theorem FractionalIdeal.mul_left_le_iff {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K] [IsDedekindDomain A] {J : FractionalIdeal (nonZeroDivisors A) K} (hJ : J β‰  0) {I I' : FractionalIdeal (nonZeroDivisors A) K} :
            J * I ≀ J * I' ↔ I ≀ I'
            @[deprecated div_eq_mul_inv (since := "2025-09-14")]

            IsDedekindDomain and IsDedekindDomainInv are equivalent ways to express that an integral domain is a Dedekind domain.

            theorem Ideal.dvd_iff_le {A : Type u_2} [CommRing A] [IsDedekindDomain A] {I J : Ideal A} :

            For ideals in a Dedekind domain, to divide is to contain.

            theorem Ideal.liesOver_iff_dvd_map {R : Type u_1} {A : Type u_2} [CommRing R] [CommRing A] [IsDedekindDomain A] [Algebra R A] {p : Ideal R} {P : Ideal A} (hP : P β‰  ⊀) [p.IsMaximal] :
            noncomputable instance Ideal.normalizationMonoid {A : Type u_2} [CommRing A] :
            Equations