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.

Instances For
    theorem isDedekindDomainInv_iff {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [IsDomain A] [Algebra A K] [IsFractionRing A K] :
    IsDedekindDomainInv A ↔ βˆ€ (I : FractionalIdeal (nonZeroDivisors A) K), I β‰  βŠ₯ β†’ I * I⁻¹ = 1
    @[reducible, inline]

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

    Instances For

      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)⁻¹
      theorem exists_multiset_prod_cons_le_and_prod_not_le {A : Type u_2} [CommRing A] [IsDedekindDomain A] (hNF : Β¬IsField A) {I M : Ideal A} (hI0 : I β‰  βŠ₯) (hIM : I ≀ M) [hM : M.IsMaximal] :

      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.not_inv_le_one_of_ne_bot {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 β‰  βŠ₯) (hI1 : I β‰  ⊀) :
      Β¬(↑I)⁻¹ ≀ 1
      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.

      @[implicit_reducible]
      noncomputable instance FractionalIdeal.semifield {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [Algebra A K] [IsFractionRing A K] [IsDedekindDomain A] :

      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} :
      I ∣ J ↔ J ≀ I

      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] :
      P.LiesOver p ↔ P ∣ map (algebraMap R A) p
      theorem Ideal.dvdNotUnit_iff_lt {A : Type u_2} [CommRing A] [IsDedekindDomain A] {I J : Ideal A} :
      DvdNotUnit I J ↔ J < I
      @[implicit_reducible]
      noncomputable instance Ideal.normalizationMonoid {A : Type u_2} [CommRing A] :