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
    theorem isDedekindDomainInv_iff {A : Type u_2} {K : Type u_3} [CommRing A] [Field K] [IsDomain A] [Algebra A K] [IsFractionRing A K] :
    @[reducible, inline]

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

    Equations
    • One or more equations did not get rendered due to their size.
    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)⁻¹

      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] :
      Equations
      • One or more equations did not get rendered due to their size.

      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