# Documentation

Mathlib.RingTheory.FinitePresentation

# Finiteness conditions in commutative algebra #

In this file we define several notions of finiteness that are common in commutative algebra.

## Main declarations #

• Module.Finite, RingHom.Finite, AlgHom.Finite all of these express that some object is finitely generated as module over some base ring.
• Algebra.FiniteType, RingHom.FiniteType, AlgHom.FiniteType all of these express that some object is finitely generated as algebra over some base ring.
• Algebra.FinitePresentation, RingHom.FinitePresentation, AlgHom.FinitePresentation all of these express that some object is finitely presented as algebra over some base ring.
def Algebra.FinitePresentation (R : Type w₁) (A : Type w₂) [] [] [Algebra R A] :

An algebra over a commutative semiring is Algebra.FinitePresentation if it is the quotient of a polynomial ring in n variables by a finitely generated ideal.

Instances For
theorem Algebra.FiniteType.of_finitePresentation {R : Type w₁} {A : Type w₂} [] [] [Algebra R A] :

A finitely presented algebra is of finite type.

theorem Algebra.FinitePresentation.of_finiteType {R : Type w₁} {A : Type w₂} [] [] [Algebra R A] [] :

An algebra over a Noetherian ring is finitely generated if and only if it is finitely presented.

theorem Algebra.FinitePresentation.equiv {R : Type w₁} {A : Type w₂} {B : Type w₃} [] [] [Algebra R A] [] [Algebra R B] (hfp : ) (e : A ≃ₐ[R] B) :

If e : A ≃ₐ[R] B and A is finitely presented, then so is B.

theorem Algebra.FinitePresentation.mvPolynomial (R : Type w₁) [] (ι : Type u_2) [] :

The ring of polynomials in finitely many variables is finitely presented.

theorem Algebra.FinitePresentation.self (R : Type w₁) [] :

R is finitely presented as R-algebra.

R[X] is finitely presented as R-algebra.

theorem Algebra.FinitePresentation.quotient {R : Type w₁} {A : Type w₂} [] [] [Algebra R A] {I : } (h : ) (hfp : ) :

The quotient of a finitely presented algebra by a finitely generated ideal is finitely presented.

theorem Algebra.FinitePresentation.of_surjective {R : Type w₁} {A : Type w₂} {B : Type w₃} [] [] [Algebra R A] [] [Algebra R B] {f : A →ₐ[R] B} (hf : ) (hker : Ideal.FG ()) (hfp : ) :

If f : A →ₐ[R] B is surjective with finitely generated kernel and A is finitely presented, then so is B.

theorem Algebra.FinitePresentation.iff {R : Type w₁} {A : Type w₂} [] [] [Algebra R A] :
n I x,
theorem Algebra.FinitePresentation.iff_quotient_mvPolynomial' {R : Type w₁} {A : Type w₂} [] [] [Algebra R A] :
ι x f,

An algebra is finitely presented if and only if it is a quotient of a polynomial ring whose variables are indexed by a fintype by a finitely generated ideal.

theorem Algebra.FinitePresentation.mvPolynomial_of_finitePresentation {R : Type w₁} {A : Type w₂} [] [] [Algebra R A] (hfp : ) (ι : Type v) [] :

If A is a finitely presented R-algebra, then MvPolynomial (Fin n) A is finitely presented as R-algebra.

theorem Algebra.FinitePresentation.trans {R : Type w₁} {A : Type w₂} {B : Type w₃} [] [] [Algebra R A] [] [Algebra R B] [Algebra A B] [] (hfpA : ) (hfpB : ) :

If A is an R-algebra and S is an A-algebra, both finitely presented, then S is finitely presented as R-algebra.

theorem Algebra.FinitePresentation.of_restrict_scalars_finitePresentation {R : Type w₁} {A : Type w₂} {B : Type w₃} [] [] [Algebra R A] [] [Algebra R B] [Algebra A B] [] (hRB : ) [hRA : ] :
theorem Algebra.FinitePresentation.ker_fg_of_mvPolynomial {R : Type w₁} {A : Type w₂} [] [] [Algebra R A] {n : } (f : MvPolynomial (Fin n) R →ₐ[R] A) (hf : ) (hfp : ) :

This is used to prove the strictly stronger ker_fg_of_surjective. Use it instead.

theorem Algebra.FinitePresentation.ker_fG_of_surjective {R : Type w₁} {A : Type w₂} {B : Type w₃} [] [] [Algebra R A] [] [Algebra R B] (f : A →ₐ[R] B) (hf : ) (hRA : ) (hRB : ) :

If f : A →ₐ[R] B is a surjection between finitely-presented R-algebras, then the kernel of f is finitely generated.

def RingHom.FinitePresentation {A : Type u_1} {B : Type u_2} [] [] (f : A →+* B) :

A ring morphism A →+* B is of RingHom.FinitePresentation if B is finitely presented as A-algebra.

Instances For
theorem RingHom.FiniteType.of_finitePresentation {A : Type u_1} {B : Type u_2} [] [] {f : A →+* B} (hf : ) :
theorem RingHom.FinitePresentation.comp_surjective {A : Type u_1} {B : Type u_2} {C : Type u_3} [] [] [] {f : A →+* B} {g : B →+* C} (hf : ) (hg : ) (hker : ) :
theorem RingHom.FinitePresentation.of_surjective {A : Type u_1} {B : Type u_2} [] [] (f : A →+* B) (hf : ) (hker : ) :
theorem RingHom.FinitePresentation.of_finiteType {A : Type u_1} {B : Type u_2} [] [] [] {f : A →+* B} :
theorem RingHom.FinitePresentation.comp {A : Type u_1} {B : Type u_2} {C : Type u_3} [] [] [] {g : B →+* C} {f : A →+* B} (hg : ) (hf : ) :
theorem RingHom.FinitePresentation.of_comp_finiteType {A : Type u_1} {B : Type u_2} {C : Type u_3} [] [] [] (f : A →+* B) {g : B →+* C} (hg : ) (hf : ) :
def AlgHom.FinitePresentation {R : Type u_1} {A : Type u_2} {B : Type u_3} [] [] [] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B) :

An algebra morphism A →ₐ[R] B is of AlgHom.FinitePresentation if it is of finite presentation as ring morphism. In other words, if B is finitely presented as A-algebra.

Instances For
theorem AlgHom.FiniteType.of_finitePresentation {R : Type u_1} {A : Type u_2} {B : Type u_3} [] [] [] [Algebra R A] [Algebra R B] {f : A →ₐ[R] B} (hf : ) :
theorem AlgHom.FinitePresentation.id (R : Type u_1) (A : Type u_2) [] [] [Algebra R A] :
theorem AlgHom.FinitePresentation.comp {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [] [] [] [] [Algebra R A] [Algebra R B] [Algebra R C] {g : B →ₐ[R] C} {f : A →ₐ[R] B} (hg : ) (hf : ) :
theorem AlgHom.FinitePresentation.comp_surjective {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [] [] [] [] [Algebra R A] [Algebra R B] [Algebra R C] {f : A →ₐ[R] B} {g : B →ₐ[R] C} (hf : ) (hg : ) (hker : Ideal.FG ()) :
theorem AlgHom.FinitePresentation.of_surjective {R : Type u_1} {A : Type u_2} {B : Type u_3} [] [] [] [Algebra R A] [Algebra R B] (f : A →ₐ[R] B) (hf : ) (hker : Ideal.FG ()) :
theorem AlgHom.FinitePresentation.of_finiteType {R : Type u_1} {A : Type u_2} {B : Type u_3} [] [] [] [Algebra R A] [Algebra R B] [] {f : A →ₐ[R] B} :
theorem AlgHom.FinitePresentation.of_comp_finiteType {R : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} [] [] [] [] [Algebra R A] [Algebra R B] [Algebra R C] (f : A →ₐ[R] B) {g : B →ₐ[R] C} (h : ) (h' : ) :