Dedekind rings and domains #

This file defines the notion of a Dedekind ring (domain), as a Noetherian integrally closed commutative ring (domain) of Krull dimension at most one.

Main definitions #

• IsDedekindRing defines a Dedekind ring as a commutative ring that is Noetherian, integrally closed in its field of fractions and has Krull dimension at most one. isDedekindRing_iff shows that this does not depend on the choice of field of fractions.
• IsDedekindDomain defines a Dedekind domain as a Dedekind ring that is a domain.

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.

IsDedekindRing and IsDedekindDomain form a cycle in the typeclass hierarchy: IsDedekindRing R + IsDomain R imply IsDedekindDomain R, which implies IsDedekindRing R. This should be safe since the start and end point is the literal same expression, which the tabled typeclass synthesis algorithm can deal with.

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

Tags #

dedekind domain, dedekind ring

class Ring.DimensionLEOne (R : Type u_1) [] :

A ring R has Krull dimension at most one if all nonzero prime ideals are maximal.

• maximalOfPrime : ∀ {p : }, p p.IsPrimep.IsMaximal
Instances
theorem Ring.DimensionLEOne.maximalOfPrime {R : Type u_1} [] [self : ] {p : } :
p p.IsPrimep.IsMaximal
theorem Ideal.IsPrime.isMaximal {R : Type u_4} [] {p : } (h : p.IsPrime) (hp : p ) :
p.IsMaximal
Equations
• =
theorem Ring.DimensionLEOne.isIntegralClosure (R : Type u_1) (A : Type u_2) [] [] (B : Type u_4) [] [] [] [Algebra R A] [Algebra R B] [Algebra B A] [] [] :
instance Ring.DimensionLEOne.integralClosure (R : Type u_1) (A : Type u_2) [] [] [] [] [Algebra R A] :
Ring.DimensionLEOne { x : A // x }
Equations
• =
theorem Ring.DimensionLEOne.not_lt_lt {R : Type u_1} [] (p₀ : ) (p₁ : ) (p₂ : ) [hp₁ : p₁.IsPrime] [hp₂ : p₂.IsPrime] :
¬(p₀ < p₁ p₁ < p₂)
theorem Ring.DimensionLEOne.eq_bot_of_lt {R : Type u_1} [] (p : ) (P : ) [p.IsPrime] [P.IsPrime] (hpP : p < P) :
p =
class IsDedekindRing (A : Type u_2) [] extends , , :

A Dedekind ring is a commutative ring that is Noetherian, integrally closed, and has Krull dimension at most one.

This is exactly IsDedekindDomain minus the IsDomain hypothesis.

The integral closure condition is independent of the choice of field of fractions: use isDedekindRing_iff to prove IsDedekindRing for a given fraction_map.

Instances
theorem isDedekindRing_iff (A : Type u_2) [] (K : Type u_4) [] [Algebra A K] [] :
∀ {x : K}, ∃ (y : A), (algebraMap A K) y = x

An integral domain is a Dedekind domain if and only if it is Noetherian, has dimension ≤ 1, and is integrally closed in a given fraction field. In particular, this definition does not depend on the choice of this fraction field.

class IsDedekindDomain (A : Type u_2) [] extends , :

A Dedekind domain is an integral domain that is Noetherian, integrally closed, and has Krull dimension at most one.

This is definition 3.2 of [Neu99].

This is exactly IsDedekindRing plus the IsDomain hypothesis.

The integral closure condition is independent of the choice of field of fractions: use isDedekindDomain_iff to prove IsDedekindDomain for a given fraction_map.

This is the default implementation, but there are equivalent definitions, IsDedekindDomainDvr and IsDedekindDomainInv. TODO: Prove that these are actually equivalent definitions.

Instances

Make a Dedekind domain from a Dedekind ring given that it is a domain.

IsDedekindRing and IsDedekindDomain form a cycle in the typeclass hierarchy: IsDedekindRing R + IsDomain R imply IsDedekindDomain R, which implies IsDedekindRing R. This should be safe since the start and end point is the literal same expression, which the tabled typeclass synthesis algorithm can deal with.

Equations
• =
theorem isDedekindDomain_iff (A : Type u_2) [] (K : Type u_4) [] [Algebra A K] [] :
∀ {x : K}, ∃ (y : A), (algebraMap A K) y = x

An integral domain is a Dedekind domain iff and only if it is Noetherian, has dimension ≤ 1, and is integrally closed in a given fraction field. In particular, this definition does not depend on the choice of this fraction field.

@[instance 100]
instance IsPrincipalIdealRing.isDedekindDomain (A : Type u_2) [] [] :
Equations
• =