mathlib documentation

ring_theory.dedekind_domain

Dedekind domains #

This file defines the notion of a Dedekind domain (or Dedekind ring), giving three equivalent definitions (TODO: and shows that they are equivalent).

Main definitions #

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.

References #

Tags #

dedekind domain, dedekind ring

def ring.dimension_le_one (R : Type u_1) [comm_ring R] :
Prop

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

Equations
@[class]
structure is_dedekind_domain (A : Type u_2) [integral_domain A] :
Prop

A Dedekind domain is an integral domain that is Noetherian, integrally closed, and has Krull dimension exactly one (not_is_field and dimension_le_one).

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

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

An integral domain is a Dedekind domain iff and only if it is not a field, 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.

structure is_dedekind_domain_dvr (A : Type u_2) [integral_domain A] :
Prop

A Dedekind domain is an integral domain that is not a field, is Noetherian, and the localization at every nonzero prime is a discrete valuation ring.

This is equivalent to is_dedekind_domain. TODO: prove the equivalence.

@[protected, instance]
def ring.fractional_ideal.has_inv (K : Type u_3) [field K] {R₁ : Type u_4} [integral_domain R₁] {g : fraction_map R₁ K} :
Equations
theorem inv_eq (K : Type u_3) [field K] {R₁ : Type u_4} [integral_domain R₁] {g : fraction_map R₁ K} {I : ring.fractional_ideal g} :
I⁻¹ = 1 / I
theorem inv_zero' (K : Type u_3) [field K] {R₁ : Type u_4} [integral_domain R₁] {g : fraction_map R₁ K} :
0⁻¹ = 0
theorem inv_nonzero (K : Type u_3) [field K] {R₁ : Type u_4} [integral_domain R₁] {g : fraction_map R₁ K} {J : ring.fractional_ideal g} (h : J 0) :
J⁻¹ = 1 / J, _⟩
theorem coe_inv_of_nonzero (K : Type u_3) [field K] {R₁ : Type u_4} [integral_domain R₁] {g : fraction_map R₁ K} {J : ring.fractional_ideal g} (h : J 0) :
theorem right_inverse_eq (K : Type u_3) [field K] {R₁ : Type u_4} [integral_domain R₁] {g : fraction_map R₁ K} (I J : ring.fractional_ideal g) (h : I * J = 1) :
J = I⁻¹

I⁻¹ is the inverse of I if I has an inverse.

theorem mul_inv_cancel_iff (K : Type u_3) [field K] {R₁ : Type u_4} [integral_domain R₁] {g : fraction_map R₁ K} {I : ring.fractional_ideal g} :
I * I⁻¹ = 1 ∃ (J : ring.fractional_ideal g), I * J = 1
@[simp]
theorem map_inv (K : Type u_3) [field K] {R₁ : Type u_4} [integral_domain R₁] {g : fraction_map R₁ K} {K' : Type u_5} [field K'] {g' : fraction_map R₁ K'} (I : ring.fractional_ideal g) (h : localization_map.codomain g ≃ₐ[R₁] localization_map.codomain g') :
theorem invertible_of_principal (K : Type u_3) [field K] {R₁ : Type u_4} [integral_domain R₁] {g : fraction_map R₁ K} (I : ring.fractional_ideal g) [I.is_principal] (h : I 0) :
I * I⁻¹ = 1
theorem invertible_iff_generator_nonzero (K : Type u_3) [field K] {R₁ : Type u_4} [integral_domain R₁] {g : fraction_map R₁ K} (I : ring.fractional_ideal g) [I.is_principal] :
theorem is_principal_inv (K : Type u_3) [field K] {R₁ : Type u_4} [integral_domain R₁] {g : fraction_map R₁ K} (I : ring.fractional_ideal g) [I.is_principal] (h : I 0) :
structure is_dedekind_domain_inv (A : Type u_2) [integral_domain A] :
Prop

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

This is equivalent to is_dedekind_domain. TODO: prove the equivalence.

theorem is_dedekind_domain_inv_iff (A : Type u_2) (K : Type u_3) [integral_domain A] [field K] (f : fraction_map A K) :