Documentation

LeanPool.AndersonConjecture.Jensen.KrullDomain.UFDConstruction

Krull domain construction: UFD proof #

Shows the intersection subring S is a UFD. Primes of R lying in the maximal ideal remain prime in S the localisation of S away from the product y_1 * y_2 is a UFD Nagata's criterion then gives that S itself is a UFD.

theorem build_R_prime_in_S {T : Type u_1} [CommRing T] [IsLocalRing T] [IsNoetherianRing T] [IsDomain T] (R : NSubring T) (x₁ x₂ : T) (y₁ y₂ : R.carrier) (S_sub : Subring T) [IsDomain S_sub] (hR_le : R.carrier S_sub) (hx₁_trans : Transcendental (↥R.carrier) x₁) (hx₂_trans : Transcendental (↥R.carrier) x₂) (hcoprime : ∀ (p : R.carrier), Prime p¬(p y₁ p y₂)) (hS_sub_eq : S_sub = {t : T | ∃ (a : T) (b : T), a intersectionSet R x₁ x₂ y₁ y₂ b intersectionSet R x₁ x₂ y₁ y₂ bIsLocalRing.maximalIdeal T t * b = a}) (hR_prime_div_Rbar : ∀ (p : R.carrier), Prime ptintersectionSet R x₁ x₂ y₁ y₂, ∀ (d : T), t = p * dd intersectionSet R x₁ x₂ y₁ y₂) (_hinv : ∀ (s : S_sub), sIsLocalRing.maximalIdeal TIsUnit s) (p : R.carrier) (hp : Prime p) (hp_M : p IsLocalRing.maximalIdeal T) :
Prime p,
theorem build_loc_away_ufd {T : Type u_1} [CommRing T] [IsLocalRing T] [IsNoetherianRing T] [IsDomain T] (R : NSubring T) (x₁ x₂ : T) (y₁ y₂ : R.carrier) (S_sub : Subring T) [IsDomain S_sub] (hR_le : R.carrier S_sub) (hy₁ : y₁ 0) (hy₂ : y₂ 0) (hx₁_trans : Transcendental (↥R.carrier) x₁) (hinv : ∀ (s : S_sub), sIsLocalRing.maximalIdeal TIsUnit s) (hS_sub_eq : S_sub = {t : T | ∃ (a : T) (b : T), a intersectionSet R x₁ x₂ y₁ y₂ b intersectionSet R x₁ x₂ y₁ y₂ bIsLocalRing.maximalIdeal T t * b = a}) (hRbar_le_S : tintersectionSet R x₁ x₂ y₁ y₂, t S_sub) (hx₁_Rbar : x₁ intersectionSet R x₁ x₂ y₁ y₂) :
theorem build_ufd_proof {T : Type u_1} [CommRing T] [IsLocalRing T] [IsNoetherianRing T] [IsDomain T] (R : NSubring T) (x₁ x₂ : T) (y₁ y₂ : R.carrier) (S_sub : Subring T) [IsDomain S_sub] [WfDvdMonoid S_sub] (hR_le : R.carrier S_sub) (_hcoprime : ∀ (p : R.carrier), Prime p¬(p y₁ p y₂)) (hy₁ : y₁ 0) (hy₂ : y₂ 0) (hx₁_trans : Transcendental (↥R.carrier) x₁) (_hx₂_trans : Transcendental (↥R.carrier) x₂) (_hx₁_mod_trans : ∀ (p : R.carrier), Prime p¬p y₂∀ (f : Polynomial R.carrier), (Polynomial.aeval x₁) f Ideal.span {p}Polynomial.C p f) (_hx₂_mod_trans : ∀ (p : R.carrier), Prime p¬p y₁∀ (f : Polynomial R.carrier), (Polynomial.aeval x₂) f Ideal.span {p}Polynomial.C p f) (hinv : ∀ (s : S_sub), sIsLocalRing.maximalIdeal TIsUnit s) (hR_prime_in_S : ∀ (p : R.carrier), Prime pp IsLocalRing.maximalIdeal TPrime p, ) (hS_sub_eq : S_sub = {t : T | ∃ (a : T) (b : T), a intersectionSet R x₁ x₂ y₁ y₂ b intersectionSet R x₁ x₂ y₁ y₂ bIsLocalRing.maximalIdeal T t * b = a}) (hRbar_le_S : tintersectionSet R x₁ x₂ y₁ y₂, t S_sub) (hx₁_Rbar : x₁ intersectionSet R x₁ x₂ y₁ y₂) (_hx₂_Rbar : x₂ intersectionSet R x₁ x₂ y₁ y₂) :
theorem build_primes_preserved {T : Type u_1} [CommRing T] [IsLocalRing T] [IsNoetherianRing T] [IsDomain T] (R : NSubring T) (x₁ x₂ : T) (y₁ y₂ : R.carrier) (S_sub : Subring T) [IsLocalRing S_sub] [UniqueFactorizationMonoid S_sub] (hR_le : R.carrier S_sub) (hx₁_trans : Transcendental (↥R.carrier) x₁) (hx₂_trans : Transcendental (↥R.carrier) x₂) (hcoprime : ∀ (p : R.carrier), Prime p¬(p y₁ p y₂)) (hmax_eq : IsLocalRing.maximalIdeal S_sub = Ideal.comap S_sub.subtype (IsLocalRing.maximalIdeal T)) (hS_sub_eq : S_sub = {t : T | ∃ (a : T) (b : T), a intersectionSet R x₁ x₂ y₁ y₂ b intersectionSet R x₁ x₂ y₁ y₂ bIsLocalRing.maximalIdeal T t * b = a}) (_hR_prime_div_Rbar : ∀ (p : R.carrier), Prime ptintersectionSet R x₁ x₂ y₁ y₂, ∀ (d : T), t = p * dd intersectionSet R x₁ x₂ y₁ y₂) (r : R.carrier) (hr : Prime r) :
Prime r,