Documentation

Iwasawalib.RingTheory.PseudoNull.Basic

Pseudo-null modules, pseudo-isomorphisms, and pseudo-isomorphic modules #

Pseudo-null modules #

class Module.IsPseudoNull (A : Type u) [CommRing A] (M : Type v) [AddCommGroup M] [Module A M] :

A finitely generated module M over a Noetherian ring A is called pseudo-null, if every prime ideals in the support of M are of height ≥ 2. Equivalently, if M localized at p equals zero for all prime ideals p of height ≤ 1.

Instances
    theorem Module.isPseudoNull_iff (A : Type u) [CommRing A] (M : Type v) [AddCommGroup M] [Module A M] :
    theorem LinearEquiv.isPseudoNull {A : Type u} [CommRing A] {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] (f : M ≃ₗ[A] N) [Module.IsPseudoNull A M] :

    A module over a ring with Krull dimension ≤ 1 is pseudo-null if and only it is zero.

    Let A be a Noetherian local ring of Krull dimension 2 with finite residue field, M be a finitely generated A-module. Then M is pseudo-null if and only if the cardinality of M is finite.

    theorem Module.isPseudoNull_of_injective {A : Type u} [CommRing A] {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] (f : M →ₗ[A] N) (h : Function.Injective f) [IsPseudoNull A N] :

    Pseudo-null modules are preserved by taking submodules.

    theorem Module.isPseudoNull_of_surjective {A : Type u} [CommRing A] {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] (f : M →ₗ[A] N) (h : Function.Surjective f) [IsPseudoNull A M] :

    Pseudo-null modules are preserved by taking quotient modules.

    theorem Module.isPseudoNull_of_exact {A : Type u} [CommRing A] {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] {P : Type x} [AddCommGroup P] [Module A P] (f : M →ₗ[A] N) (g : N →ₗ[A] P) (h : Function.Exact f g) [IsPseudoNull A M] [IsPseudoNull A P] :

    If M, P are pseudo-null, M → N → P is exact at N, then N is also pseudo-null.

    Pseudo-isomorphisms #

    structure LinearMap.IsPseudoIsomorphism {A : Type u} [CommRing A] {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] (f : M →ₗ[A] N) :

    A linear map between two finitely generated modules over a Noetherian ring is called a pseudo-isomorphism if its kernel and cokernel are pseudo-null.

    Instances For
      theorem LinearEquiv.isPseudoIsomorphism {A : Type u} [CommRing A] {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] (f : M ≃ₗ[A] N) :

      If M is pseudo-null, then M → N is a pseudo-isomorphism if and only if N is pseudo-null.

      If N is pseudo-null, then M → N is a pseudo-isomorphism if and only if M is pseudo-null.

      theorem LinearMap.IsPseudoIsomorphism.comp {A : Type u} [CommRing A] {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] {P : Type x} [AddCommGroup P] [Module A P] {f : M →ₗ[A] N} {g : N →ₗ[A] P} (hg : g.IsPseudoIsomorphism) (hf : f.IsPseudoIsomorphism) :

      Composition of two pseudo-isomorphisms is a pseudo-isomorphism.

      Pseudo-isomorphic modules #

      structure Module.IsPseudoIsomorphic (A : Type u) [CommRing A] (M : Type v) [AddCommGroup M] [Module A M] (N : Type w) [AddCommGroup N] [Module A N] :

      Two finitely generated modules M, N over a Noetherian ring A is called pseudo-isomorphic, if there exists a linear map f : M →ₗ[A] N which is a pseudo-isomorphism.

      WARNING: pseudo-isomorphic is not symmetric in general.

      Instances For
        theorem Module.isPseudoIsomorphic_iff (A : Type u) [CommRing A] (M : Type v) [AddCommGroup M] [Module A M] (N : Type w) [AddCommGroup N] [Module A N] :

        Two finitely generated modules M, N over a Noetherian ring A is called pseudo-isomorphic, if there exists a linear map f : M →ₗ[A] N which is a pseudo-isomorphism.

        WARNING: pseudo-isomorphic is not symmetric in general.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Pseudo-isomorphic is reflexive.

          theorem Module.IsPseudoIsomorphic.trans {A : Type u} [CommRing A] {M : Type v} [AddCommGroup M] [Module A M] {N : Type w} [AddCommGroup N] [Module A N] {P : Type x} [AddCommGroup P] [Module A P] (h1 : M ∼ₚᵢₛ[A] N) (h2 : N ∼ₚᵢₛ[A] P) :

          Pseudo-isomorphic is transitive.