Documentation

Mathlib.RingTheory.Artinian.Module

Artinian rings and modules #

A module satisfying these equivalent conditions is said to be an Artinian R-module if every decreasing chain of submodules is eventually constant, or equivalently, if the relation < on submodules is well founded.

A ring is said to be left (or right) Artinian if it is Artinian as a left (or right) module over itself, or simply Artinian if it is both left and right Artinian.

Main definitions #

Let R be a ring and let M and P be R-modules. Let N be an R-submodule of M.

Main results #

References #

Tags #

Artinian, artinian, Artinian ring, Artinian module, artinian ring, artinian module

@[reducible, inline]
abbrev IsArtinian (R : Type u_1) (M : Type u_2) [Semiring R] [AddCommMonoid M] [Module R M] :

IsArtinian R M is the proposition that M is an Artinian R-module, implemented as the well-foundedness of submodule inclusion.

Equations
    Instances For
      theorem isArtinian_iff (R : Type u_1) (M : Type u_2) [Semiring R] [AddCommMonoid M] [Module R M] :
      IsArtinian R M โ†” WellFounded fun (x1 x2 : Submodule R M) => x1 < x2
      theorem LinearMap.isArtinian_iff_of_bijective {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {S : Type u_5} {P : Type u_6} [Semiring S] [AddCommMonoid P] [Module S P] {ฯƒ : R โ†’+* S} [RingHomSurjective ฯƒ] (l : M โ†’โ‚›โ‚—[ฯƒ] P) (hl : Function.Bijective โ‡‘l) :
      theorem isArtinian_of_injective {R : Type u_1} {M : Type u_2} {P : Type u_3} [Semiring R] [AddCommMonoid M] [AddCommMonoid P] [Module R M] [Module R P] (f : M โ†’โ‚—[R] P) (h : Function.Injective โ‡‘f) [IsArtinian R P] :
      instance isArtinian_submodule' {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [IsArtinian R M] (N : Submodule R M) :
      IsArtinian R โ†ฅN
      theorem isArtinian_of_le {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {s t : Submodule R M} [IsArtinian R โ†ฅt] (h : s โ‰ค t) :
      IsArtinian R โ†ฅs
      theorem isArtinian_of_surjective {R : Type u_1} (M : Type u_2) {P : Type u_3} [Semiring R] [AddCommMonoid M] [AddCommMonoid P] [Module R M] [Module R P] (f : M โ†’โ‚—[R] P) (hf : Function.Surjective โ‡‘f) [IsArtinian R M] :
      theorem isArtinian_of_surjective_algebraMap {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] {S : Type u_5} [CommSemiring S] [Algebra S R] [Module S M] [IsArtinian R M] [IsScalarTower S R M] (H : Function.Surjective โ‡‘(algebraMap S R)) :

      If M is an Artinian R module, and S is an R-algebra with a surjective algebra map, then M is an Artinian S module.

      instance isArtinian_range {R : Type u_1} {M : Type u_2} {P : Type u_3} [Semiring R] [AddCommMonoid M] [AddCommMonoid P] [Module R M] [Module R P] (f : M โ†’โ‚—[R] P) [IsArtinian R M] :
      IsArtinian R โ†ฅf.range
      theorem isArtinian_of_linearEquiv {R : Type u_1} {M : Type u_2} {P : Type u_3} [Semiring R] [AddCommMonoid M] [AddCommMonoid P] [Module R M] [Module R P] (f : M โ‰ƒโ‚—[R] P) [IsArtinian R M] :
      theorem set_has_minimal_iff_artinian {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] :
      (โˆ€ (a : Set (Submodule R M)), a.Nonempty โ†’ โˆƒ M' โˆˆ a, โˆ€ I โˆˆ a, ยฌI < M') โ†” IsArtinian R M

      A module is Artinian iff every nonempty set of submodules has a minimal submodule among them.

      theorem IsArtinian.set_has_minimal {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [IsArtinian R M] (a : Set (Submodule R M)) (ha : a.Nonempty) :
      โˆƒ M' โˆˆ a, โˆ€ I โˆˆ a, ยฌI < M'
      theorem monotone_stabilizes_iff_artinian {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] :
      (โˆ€ (f : โ„• โ†’o (Submodule R M)แต’แตˆ), โˆƒ (n : โ„•), โˆ€ (m : โ„•), n โ‰ค m โ†’ f n = f m) โ†” IsArtinian R M

      A module is Artinian iff every decreasing chain of submodules stabilizes.

      theorem IsArtinian.monotone_stabilizes {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [IsArtinian R M] (f : โ„• โ†’o (Submodule R M)แต’แตˆ) :
      โˆƒ (n : โ„•), โˆ€ (m : โ„•), n โ‰ค m โ†’ f n = f m
      theorem IsArtinian.induction {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [IsArtinian R M] {P : Submodule R M โ†’ Prop} (hgt : โˆ€ (I : Submodule R M), (โˆ€ J < I, P J) โ†’ P I) (I : Submodule R M) :
      P I

      If โˆ€ I > J, P I implies P J, then P holds for all submodules.

      Any injective endomorphism of an Artinian module is surjective.

      Any injective endomorphism of an Artinian module is bijective.

      theorem IsArtinian.disjoint_partial_infs_eventually_top {R : Type u_1} {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] [IsArtinian R M] (f : โ„• โ†’ Submodule R M) (h : โˆ€ (n : โ„•), Disjoint ((partialSups (โ‡‘OrderDual.toDual โˆ˜ f)) n) (OrderDual.toDual (f (n + 1)))) :
      โˆƒ (n : โ„•), โˆ€ (m : โ„•), n โ‰ค m โ†’ f m = โŠค

      A sequence f of submodules of an Artinian module, with the supremum f (n+1) and the infimum of f 0, ..., f n being โŠค, is eventually โŠค.

      theorem IsArtinian.subsingleton_of_injective {R : Type u_1} {P : Type u_3} {N : Type u_4} [Semiring R] [AddCommMonoid P] [AddCommMonoid N] [Module R P] [Module R N] [IsArtinian R N] {f : P ร— N โ†’โ‚—[R] N} (inj : Function.Injective โ‡‘f) :
      theorem isArtinian_of_range_eq_ker {R : Type u_1} {M : Type u_2} {P : Type u_3} {N : Type u_4} [Ring R] [AddCommGroup M] [AddCommGroup P] [AddCommGroup N] [Module R M] [Module R P] [Module R N] [IsArtinian R M] [IsArtinian R P] (f : M โ†’โ‚—[R] N) (g : N โ†’โ‚—[R] P) (h : f.range = g.ker) :
      instance isArtinian_prod {R : Type u_1} {M : Type u_2} {P : Type u_3} [Ring R] [AddCommGroup M] [AddCommGroup P] [Module R M] [Module R P] [IsArtinian R M] [IsArtinian R P] :
      instance isArtinian_sup {R : Type u_1} {P : Type u_3} [Ring R] [AddCommGroup P] [Module R P] (Mโ‚ Mโ‚‚ : Submodule R P) [IsArtinian R โ†ฅMโ‚] [IsArtinian R โ†ฅMโ‚‚] :
      IsArtinian R โ†ฅ(Mโ‚ โŠ” Mโ‚‚)
      instance isArtinian_pi {R : Type u_1} [Ring R] {ฮน : Type u_5} [Finite ฮน] {M : ฮน โ†’ Type u_6} [(i : ฮน) โ†’ AddCommGroup (M i)] [(i : ฮน) โ†’ Module R (M i)] [โˆ€ (i : ฮน), IsArtinian R (M i)] :
      IsArtinian R ((i : ฮน) โ†’ M i)
      instance isArtinian_pi' {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {ฮน : Type u_5} [Finite ฮน] [IsArtinian R M] :
      IsArtinian R (ฮน โ†’ M)

      A version of isArtinian_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 โ„).

      instance isArtinian_finsupp {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] {ฮน : Type u_5} [Finite ฮน] [IsArtinian R M] :
      instance isArtinian_iSup {R : Type u_1} {P : Type u_3} [Ring R] [AddCommGroup P] [Module R P] {ฮน : Type u_5} [Finite ฮน] {M : ฮน โ†’ Submodule R P} [โˆ€ (i : ฮน), IsArtinian R โ†ฅ(M i)] :
      IsArtinian R โ†ฅ(โจ† (i : ฮน), M i)

      For any endomorphism of an Artinian module, any sufficiently high iterate has codisjoint kernel and range.

      This is the Fitting decomposition of the module M with respect to the endomorphism f.

      See also LinearMap.isCompl_iSup_ker_pow_iInf_range_pow for an alternative spelling.

      theorem LinearMap.isCompl_iSup_ker_pow_iInf_range_pow {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinian R M] [IsNoetherian R M] (f : M โ†’โ‚—[R] M) :
      IsCompl (โจ† (n : โ„•), (f ^ n).ker) (โจ… (n : โ„•), (f ^ n).range)

      This is the Fitting decomposition of the module M with respect to the endomorphism f.

      See also LinearMap.eventually_isCompl_ker_pow_range_pow for an alternative spelling.

      theorem IsArtinian.range_smul_pow_stabilizes {R : Type u_1} (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] [IsArtinian R M] (r : R) :
      โˆƒ (n : โ„•), โˆ€ (m : โ„•), n โ‰ค m โ†’ (r ^ n โ€ข LinearMap.id).range = (r ^ m โ€ข LinearMap.id).range
      theorem IsArtinian.exists_pow_succ_smul_dvd {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] [IsArtinian R M] (r : R) (x : M) :
      โˆƒ (n : โ„•) (y : M), r ^ n.succ โ€ข y = r ^ n โ€ข x
      theorem isArtinian_of_submodule_of_artinian (R : Type u_1) (M : Type u_2) [Semiring R] [AddCommMonoid M] [Module R M] (N : Submodule R M) :
      IsArtinian R M โ†’ IsArtinian R โ†ฅN
      theorem isArtinian_of_tower (R : Type u_1) {S : Type u_2} {M : Type u_3} [Semiring R] [Semiring S] [AddCommMonoid M] [SMul R S] [Module S M] [Module R M] [IsScalarTower R S M] (h : IsArtinian R M) :

      If M / S / R is a scalar tower, and M / R is Artinian, then M / S is also Artinian.

      @[reducible, inline]
      abbrev IsArtinianRing (R : Type u_1) [Semiring R] :

      A ring is Artinian if it is Artinian as a module over itself.

      Strictly speaking, this should be called IsLeftArtinianRing but we omit the Left for convenience in the commutative case. For a right Artinian ring, use IsArtinian Rแตแต’แต– R.

      For equivalent definitions, see Mathlib/RingTheory/Artinian/Ring.lean.

      Equations
        Instances For
          theorem isArtinian_of_fg_of_artinian {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (N : Submodule R M) [IsArtinianRing R] (hN : N.FG) :
          IsArtinian R โ†ฅN
          theorem isArtinian_span_of_finite (R : Type u_1) {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] [IsArtinianRing R] {A : Set M} (hA : A.Finite) :
          IsArtinian R โ†ฅ(Submodule.span R A)

          In a module over an Artinian ring, the submodule generated by finitely many vectors is Artinian.

          theorem Function.Surjective.isArtinianRing {R : Type u_1} [Semiring R] {S : Type u_2} [Semiring S] {F : Type u_3} [FunLike F R S] [RingHomClass F R S] {f : F} (hf : Surjective โ‡‘f) [H : IsArtinianRing R] :
          instance isArtinianRing_range {R : Type u_1} [Ring R] {S : Type u_2} [Ring S] (f : R โ†’+* S) [IsArtinianRing R] :
          instance instIsArtinianRingForallOfFinite {ฮน : Type u_2} [Finite ฮน] {R : ฮน โ†’ Type u_1} [(i : ฮน) โ†’ Semiring (R i)] [โˆ€ (i : ฮน), IsArtinianRing (R i)] :
          IsArtinianRing ((i : ฮน) โ†’ R i)

          If an element of an Artinian ring is not a zero divisor then it is a unit.

          In an Artinian ring, an element is a unit iff it is a non-zero-divisor. See also isUnit_iff_mem_nonZeroDivisors_of_finite.

          @[deprecated IsArtinianRing.isUnitSubmonoid_eq (since := "2025-08-26")]

          Alias of IsArtinianRing.isUnitSubmonoid_eq.

          The prime spectrum is in bijection with the maximal spectrum.

          Equations
            Instances For

              A temporary field instance on the quotients by maximal ideals.

              Equations
                Instances For

                  The quotient of a commutative Artinian ring by its nilradical is isomorphic to a finite product of fields, namely the quotients by the maximal ideals.

                  Equations
                    Instances For
                      noncomputable def IsArtinianRing.equivPi (R : Type u_1) [CommRing R] [IsArtinianRing R] [IsReduced R] :

                      A reduced commutative Artinian ring is isomorphic to a finite product of fields, namely the quotients by the maximal ideals.

                      Equations
                        Instances For