mathlib documentation

ring_theory.​integral_closure

ring_theory.​integral_closure

Integral closure of a subring.

def is_integral (R : Type u) {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] :
A → Prop

An element x of an algebra A over a commutative ring R is said to be integral, if it is a root of some monic polynomial p : polynomial R.

Equations
theorem is_integral_algebra_map {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] {x : R} :

theorem is_integral_alg_hom {R : Type u} {A : Type v} {B : Type w} [comm_ring R] [comm_ring A] [comm_ring B] [algebra R A] [algebra R B] (f : A →ₐ[R] B) {x : A} :
is_integral R xis_integral R (f x)

theorem is_integral_of_is_scalar_tower {R : Type u} {A : Type v} {B : Type w} [comm_ring R] [comm_ring A] [comm_ring B] [algebra R A] [algebra R B] [algebra A B] [is_scalar_tower R A B] (x : B) :

theorem is_integral_of_subring {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] {x : A} (T : set R) [is_subring T] :

theorem is_integral_iff_is_integral_closure_finite {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] {r : A} :

theorem fg_adjoin_singleton_of_integral {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] (x : A) :

theorem fg_adjoin_of_finite {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] {s : set A} :
s.finite(∀ (x : A), x sis_integral R x)(algebra.adjoin R s).fg

theorem is_integral_of_noetherian' {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] (H : is_noetherian R A) (x : A) :

theorem is_integral_of_noetherian {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] (S : subalgebra R A) (H : is_noetherian R S) (x : A) :
x Sis_integral R x

theorem is_integral_of_mem_of_fg {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] (S : subalgebra R A) (HS : S.fg) (x : A) :
x Sis_integral R x

theorem is_integral_of_mem_closure {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] {x y z : A} :
is_integral R xis_integral R yz ring.closure {x, y}is_integral R z

theorem is_integral_zero {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] :

theorem is_integral_one {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] :

theorem is_integral_add {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] {x y : A} :
is_integral R xis_integral R yis_integral R (x + y)

theorem is_integral_neg {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] {x : A} :

theorem is_integral_sub {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] {x y : A} :
is_integral R xis_integral R yis_integral R (x - y)

theorem is_integral_mul {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] {x y : A} :
is_integral R xis_integral R yis_integral R (x * y)

def integral_closure (R : Type u) (A : Type v) [comm_ring R] [comm_ring A] [algebra R A] :

Equations
theorem mem_integral_closure_iff_mem_fg (R : Type u) (A : Type v) [comm_ring R] [comm_ring A] [algebra R A] {r : A} :
r integral_closure R A ∃ (M : subalgebra R A), M.fg r M

theorem integral_closure.​is_integral {R : Type u} {A : Type v} [comm_ring R] [comm_ring A] [algebra R A] (x : (integral_closure R A)) :

theorem is_integral_trans_aux {R : Type u_1} {A : Type u_2} {B : Type u_3} [comm_ring R] [comm_ring A] [comm_ring B] [algebra A B] [algebra R B] (x : B) {p : polynomial A} :

theorem is_integral_trans {R : Type u_1} {A : Type u_2} {B : Type u_3} [comm_ring R] [comm_ring A] [comm_ring B] [algebra A B] [algebra R B] [algebra R A] [is_scalar_tower R A B] (A_int : ∀ (x : A), is_integral R x) (x : B) :

If A is an R-algebra all of whose elements are integral over R, and x is an element of an A-algebra that is integral over A, then x is integral over R.

theorem algebra.​is_integral_trans {R : Type u_1} {A : Type u_2} {B : Type u_3} [comm_ring R] [comm_ring A] [comm_ring B] [algebra A B] [algebra R B] [algebra R A] [is_scalar_tower R A B] (A_int : ∀ (x : A), is_integral R x) (B_int : ∀ (x : B), is_integral A x) (x : B) :

If A is an R-algebra all of whose elements are integral over R, and B is an A-algebra all of whose elements are integral over A, then all elements of B are integral over R.

theorem is_integral_of_surjective {R : Type u_1} {A : Type u_2} [comm_ring R] [comm_ring A] [algebra R A] (h : function.surjective (algebra_map R A)) (x : A) :

theorem is_integral_tower_bot_of_is_integral {R : Type u_1} {A : Type u_2} {B : Type u_3} [comm_ring R] [comm_ring A] [comm_ring B] [algebra A B] [algebra R B] [algebra R A] [is_scalar_tower R A B] (H : function.injective (algebra_map A B)) {x : A} :

If R → A → B is an algebra tower with A → B injective, then if the entire tower is an integral extension so is R → A

theorem is_integral_tower_top_of_is_integral {R : Type u_1} {A : Type u_2} {B : Type u_3} [comm_ring R] [comm_ring A] [comm_ring B] [algebra A B] [algebra R B] [algebra R A] [is_scalar_tower R A B] {x : B} :

If R → A → B is an algebra tower, then if the entire tower is an integral extension so is A → B

theorem integral_closure_idem {R : Type u_1} {A : Type u_2} [comm_ring R] [comm_ring A] [algebra R A] :