# Finiteness conditions in commutative algebra #

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

## Main declarations #

class 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
theorem Algebra.FinitePresentation.out {R : Type w₁} {A : Type w₂} [] [] [Algebra R A] [self : ] :
∃ (n : ) (f : MvPolynomial (Fin n) R →ₐ[R] A), (RingHom.ker f.toRingHom).FG
instance Algebra.FiniteType.of_finitePresentation {R : Type w₁} {A : Type w₂} [] [] [Algebra R A] :

A finitely presented algebra is of finite type.

Equations
• =
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] (e : A ≃ₐ[R] B) :

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

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

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

Equations
• =
instance Algebra.FinitePresentation.self (R : Type w₁) [] :

R is finitely presented as R-algebra.

Equations
• =

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

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

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 : (RingHom.ker f.toRingHom).FG) :

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 : Ideal (MvPolynomial (Fin n) R)) (x : (MvPolynomial (Fin n) R I) ≃ₐ[R] A), I.FG
theorem Algebra.FinitePresentation.iff_quotient_mvPolynomial' {R : Type w₁} {A : Type w₂} [] [] [Algebra R A] :
∃ (ι : Type u_1) (x : ) (f : →ₐ[R] A), (RingHom.ker f.toRingHom).FG

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] (ι : 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] [] :

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] [] [] :
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 : ) :
(RingHom.ker f.toRingHom).FG

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 : ) :
(RingHom.ker f.toRingHom).FG

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.

Equations
• f.FinitePresentation =
Instances For
theorem RingHom.FiniteType.of_finitePresentation {A : Type u_1} {B : Type u_2} [] [] {f : A →+* B} (hf : f.FinitePresentation) :
f.FiniteType
theorem RingHom.FinitePresentation.id (A : Type u_1) [] :
().FinitePresentation
theorem RingHom.FinitePresentation.comp_surjective {A : Type u_1} {B : Type u_2} {C : Type u_3} [] [] [] {f : A →+* B} {g : B →+* C} (hf : f.FinitePresentation) (hg : ) (hker : ().FG) :
(g.comp f).FinitePresentation
theorem RingHom.FinitePresentation.of_surjective {A : Type u_1} {B : Type u_2} [] [] (f : A →+* B) (hf : ) (hker : ().FG) :
f.FinitePresentation
theorem RingHom.FinitePresentation.of_finiteType {A : Type u_1} {B : Type u_2} [] [] [] {f : A →+* B} :
f.FiniteType f.FinitePresentation
theorem RingHom.FinitePresentation.comp {A : Type u_1} {B : Type u_2} {C : Type u_3} [] [] [] {g : B →+* C} {f : A →+* B} (hg : g.FinitePresentation) (hf : f.FinitePresentation) :
(g.comp f).FinitePresentation
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 : (g.comp f).FinitePresentation) (hf : f.FiniteType) :
g.FinitePresentation
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.

Equations
• f.FinitePresentation = f.FinitePresentation
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 : f.FinitePresentation) :
f.FiniteType
theorem AlgHom.FinitePresentation.id (R : Type u_1) (A : Type u_2) [] [] [Algebra R A] :
().FinitePresentation
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 : g.FinitePresentation) (hf : f.FinitePresentation) :
(g.comp f).FinitePresentation
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 : f.FinitePresentation) (hg : ) (hker : (RingHom.ker g.toRingHom).FG) :
(g.comp f).FinitePresentation
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 : (RingHom.ker f.toRingHom).FG) :
f.FinitePresentation
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} :
f.FiniteType f.FinitePresentation
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 : (g.comp f).FinitePresentation) (h' : f.FiniteType) :
g.FinitePresentation