Noetherian rings and modules #
The following are equivalent for a module M over a ring R:
- Every increasing chain of submodules M₁ ⊆ M₂ ⊆ M₃ ⊆ ⋯ eventually stabilises.
- Every submodule is finitely generated.
A module satisfying these equivalent conditions is said to be a Noetherian R-module. A ring is a Noetherian ring if it is Noetherian as a module over itself.
(Note that we do not assume yet that our rings are commutative, so perhaps this should be called "left Noetherian". To avoid cumbersome names once we specialize to the commutative case, we don't make this explicit in the declaration names.)
Main definitions #
Let R
be a ring and let M
and P
be R
-modules. Let N
be an R
-submodule of M
.
IsNoetherian R M
is the proposition thatM
is a NoetherianR
-module. It is a class, implemented as the predicate that allR
-submodules ofM
are finitely generated.
Main statements #
isNoetherian_iff_wellFounded
is the theorem that an R-module M is Noetherian iff>
is well-founded onSubmodule R M
.
Note that the Hilbert basis theorem, that if a commutative ring R is Noetherian then so is R[X],
is proved in RingTheory.Polynomial
.
References #
- [M. F. Atiyah and I. G. Macdonald, Introduction to commutative algebra][atiyah-macdonald]
- [samuel1967]
Tags #
Noetherian, noetherian, Noetherian ring, Noetherian module, noetherian ring, noetherian module
IsNoetherian R M
is the proposition that M
is a Noetherian R
-module,
implemented as the predicate that all R
-submodules of M
are finitely generated.
- noetherian : ∀ (s : Submodule R M), Submodule.FG s
IsNoetherian R M
is the proposition thatM
is a NoetherianR
-module, implemented as the predicate that allR
-submodules ofM
are finitely generated.
Instances
An R-module is Noetherian iff all its submodules are finitely-generated.
Equations
- (_ : IsNoetherian R ↥N) = (_ : IsNoetherian R ↥N)
Equations
- (_ : Module.Finite R M) = (_ : Module.Finite R M)
Equations
- (_ : Module.Finite R₁ ↥I) = (_ : Module.Finite R₁ ↥(Submodule.restrictScalars R₁ I))
Equations
- (_ : IsNoetherian R (M × P)) = (_ : IsNoetherian R (M × P))
Equations
- (_ : IsNoetherian R ((i : ι) → M i)) = (_ : IsNoetherian R ((i : ι) → M i))
A version of isNoetherian_pi
for non-dependent functions. We need this instance because
sometimes Lean fails to apply the dependent version in non-dependent settings (e.g., it fails to
prove that ι → ℝ
is finite dimensional over ℝ
).
Equations
- (_ : IsNoetherian R (ι → M)) = (_ : IsNoetherian R (ι → M))
Equations
- (_ : IsNoetherian R ((ι → R) →ₗ[R] M)) = (_ : IsNoetherian R ((ι → R) →ₗ[R] M))
Equations
- (_ : IsNoetherian R (N →ₗ[R] M)) = (_ : IsNoetherian R (N →ₗ[R] M))
A module is Noetherian iff every nonempty set of submodules has a maximal submodule among them.
If ∀ I > J, P I
implies P J
, then P
holds for all submodules.
A linearly-independent family of vectors in a module over a non-trivial ring must be finite if the module is Noetherian.
If the first and final modules in a short exact sequence are Noetherian, then the middle module is also Noetherian.
For an endomorphism of a Noetherian module, any sufficiently large iterate has disjoint kernel and range.
Any surjective endomorphism of a Noetherian module is injective.
Any surjective endomorphism of a Noetherian module is bijective.
A sequence f
of submodules of a noetherian module,
with f (n+1)
disjoint from the supremum of f 0
, ..., f n
,
is eventually zero.
If M ⊕ N
embeds into M
, for M
noetherian over R
, then N
is trivial.
Equations
- IsNoetherian.equivPUnitOfProdInjective f i = Nonempty.some (_ : Nonempty (N ≃ₗ[R] PUnit.{w + 1} ))
Instances For
A (semi)ring is Noetherian if it is Noetherian as a module over itself, i.e. all its ideals are finitely generated.
Equations
- IsNoetherianRing R = IsNoetherian R R
Instances For
A ring is Noetherian if and only if all its ideals are finitely-generated.
Equations
- (_ : IsNoetherian R M) = (_ : IsNoetherian R M)
Modules over the trivial ring are Noetherian.
Equations
- (_ : IsNoetherian R M) = (_ : IsNoetherian R M)
Equations
- (_ : IsNoetherian R (M ⧸ N)) = (_ : IsNoetherian R (M ⧸ N))
If M / S / R
is a scalar tower, and M / R
is Noetherian, then M / S
is
also noetherian.
Equations
- (_ : IsNoetherian R M) = (_ : IsNoetherian R M)
In a module over a Noetherian ring, the submodule generated by finitely many vectors is Noetherian.
Equations
- (_ : IsNoetherianRing ↥(RingHom.range f)) = (_ : IsNoetherianRing ↥(RingHom.range f))