Documentation

Mathlib.RingTheory.Lasker

Lasker ring #

Main declarations #

TODO #

One needs to prove that the radicals of minimal decompositions are independent of the precise decomposition.

def IsLasker (R : Type u_1) (M : Type u_2) [CommSemiring R] [AddCommMonoid M] [Module R M] :

An R-module M satisfies IsLasker R M when any N : Submodule R M can be decomposed into finitely many primary submodules.

Equations
    Instances For
      theorem Submodule.decomposition_erase_inf {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] [DecidableEq (Submodule R M)] {N : Submodule R M} {s : Finset (Submodule R M)} (hs : s.inf id = N) :
      βˆƒ t βŠ† s, t.inf id = N ∧ βˆ€ ⦃J : Submodule R M⦄, J ∈ t β†’ Β¬(t.erase J).inf id ≀ J
      theorem Submodule.isPrimary_decomposition_pairwise_ne_radical {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {N : Submodule R M} {s : Finset (Submodule R M)} (hs : s.inf id = N) (hs' : βˆ€ ⦃J : Submodule R M⦄, J ∈ s β†’ J.IsPrimary) :
      βˆƒ (t : Finset (Submodule R M)), t.inf id = N ∧ (βˆ€ ⦃J : Submodule R M⦄, J ∈ t β†’ J.IsPrimary) ∧ (↑t).Pairwise (Function.onFun (fun (x1 x2 : Ideal R) => x1 β‰  x2) fun (J : Submodule R M) => (J.colon Set.univ).radical)
      theorem Submodule.exists_minimal_isPrimary_decomposition_of_isPrimary_decomposition {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] [DecidableEq (Submodule R M)] {N : Submodule R M} {s : Finset (Submodule R M)} (hs : s.inf id = N) (hs' : βˆ€ ⦃J : Submodule R M⦄, J ∈ s β†’ J.IsPrimary) :
      βˆƒ (t : Finset (Submodule R M)), t.inf id = N ∧ (βˆ€ ⦃J : Submodule R M⦄, J ∈ t β†’ J.IsPrimary) ∧ (↑t).Pairwise (Function.onFun (fun (x1 x2 : Ideal R) => x1 β‰  x2) fun (J : Submodule R M) => (J.colon Set.univ).radical) ∧ βˆ€ ⦃J : Submodule R M⦄, J ∈ t β†’ Β¬(t.erase J).inf id ≀ J
      structure Submodule.IsMinimalPrimaryDecomposition {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] [DecidableEq (Submodule R M)] (N : Submodule R M) (t : Finset (Submodule R M)) :

      A Finset of submodules is a minimal primary decomposition of N if the submodules Nᡒ intersect to N, are primary, the √Ann(M/Nᡒ) are distinct, and each Nᡒ is necessary.

      Instances For
        @[deprecated Submodule.decomposition_erase_inf (since := "2026-01-19")]
        theorem Ideal.decomposition_erase_inf {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] [DecidableEq (Submodule R M)] {N : Submodule R M} {s : Finset (Submodule R M)} (hs : s.inf id = N) :
        βˆƒ t βŠ† s, t.inf id = N ∧ βˆ€ ⦃J : Submodule R M⦄, J ∈ t β†’ Β¬(t.erase J).inf id ≀ J

        Alias of Submodule.decomposition_erase_inf.

        @[deprecated Submodule.isPrimary_decomposition_pairwise_ne_radical (since := "2026-01-19")]
        theorem Ideal.isPrimary_decomposition_pairwise_ne_radical {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] {N : Submodule R M} {s : Finset (Submodule R M)} (hs : s.inf id = N) (hs' : βˆ€ ⦃J : Submodule R M⦄, J ∈ s β†’ J.IsPrimary) :
        βˆƒ (t : Finset (Submodule R M)), t.inf id = N ∧ (βˆ€ ⦃J : Submodule R M⦄, J ∈ t β†’ J.IsPrimary) ∧ (↑t).Pairwise (Function.onFun (fun (x1 x2 : Ideal R) => x1 β‰  x2) fun (J : Submodule R M) => (J.colon Set.univ).radical)

        Alias of Submodule.isPrimary_decomposition_pairwise_ne_radical.

        @[deprecated Submodule.exists_minimal_isPrimary_decomposition_of_isPrimary_decomposition (since := "2026-01-19")]
        theorem Ideal.exists_minimal_isPrimary_decomposition_of_isPrimary_decomposition {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] [DecidableEq (Submodule R M)] {N : Submodule R M} {s : Finset (Submodule R M)} (hs : s.inf id = N) (hs' : βˆ€ ⦃J : Submodule R M⦄, J ∈ s β†’ J.IsPrimary) :
        βˆƒ (t : Finset (Submodule R M)), t.inf id = N ∧ (βˆ€ ⦃J : Submodule R M⦄, J ∈ t β†’ J.IsPrimary) ∧ (↑t).Pairwise (Function.onFun (fun (x1 x2 : Ideal R) => x1 β‰  x2) fun (J : Submodule R M) => (J.colon Set.univ).radical) ∧ βˆ€ ⦃J : Submodule R M⦄, J ∈ t β†’ Β¬(t.erase J).inf id ≀ J

        Alias of Submodule.exists_minimal_isPrimary_decomposition_of_isPrimary_decomposition.

        @[deprecated Submodule.IsMinimalPrimaryDecomposition (since := "2026-01-19")]

        Alias of Submodule.IsMinimalPrimaryDecomposition.


        A Finset of submodules is a minimal primary decomposition of N if the submodules Nᡒ intersect to N, are primary, the √Ann(M/Nᡒ) are distinct, and each Nᡒ is necessary.

        Equations
          Instances For
            @[deprecated Submodule.IsLasker.exists_isMinimalPrimaryDecomposition (since := "2026-01-19")]

            Alias of Submodule.IsLasker.exists_isMinimalPrimaryDecomposition.

            @[deprecated Submodule.IsLasker.exists_isMinimalPrimaryDecomposition (since := "2026-01-19")]
            theorem Ideal.IsLasker.minimal {R : Type u_1} {M : Type u_2} [CommSemiring R] [AddCommMonoid M] [Module R M] [DecidableEq (Submodule R M)] (h : IsLasker R M) (N : Submodule R M) :

            Alias of Submodule.IsLasker.exists_isMinimalPrimaryDecomposition.

            theorem InfIrred.isPrimary {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [IsNoetherian R M] {N : Submodule R M} (h : InfIrred N) :
            theorem Submodule.isLasker (R : Type u_1) (M : Type u_2) [CommRing R] [AddCommGroup M] [Module R M] [IsNoetherian R M] :

            The Lasker--Noether theorem: every submodule in a Noetherian module admits a decomposition into primary submodules.

            @[deprecated Submodule.isLasker (since := "2026-01-19")]
            theorem Ideal.isLasker (R : Type u_1) (M : Type u_2) [CommRing R] [AddCommGroup M] [Module R M] [IsNoetherian R M] :

            Alias of Submodule.isLasker.


            The Lasker--Noether theorem: every submodule in a Noetherian module admits a decomposition into primary submodules.