Documentation

Mathlib.RingTheory.Ideal.Colon

The colon ideal #

This file defines Submodule.colon N P as the ideal of all elements r : R such that r • P ⊆ N. The normal notation for this would be N : P which has already been taken by type theory.

def Submodule.colon {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (N : Submodule R M) (P : Submodule R M) :

N.colon P is the ideal of all elements r : R such that r • P ⊆ N.

Equations
Instances For
    theorem Submodule.mem_colon {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Submodule R M} {P : Submodule R M} {r : R} :
    r ∈ N.colon P ↔ ∀ p ∈ P, r • p ∈ N
    theorem Submodule.mem_colon' {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Submodule R M} {P : Submodule R M} {r : R} :
    r ∈ N.colon P ↔ P ≤ Submodule.comap (r • LinearMap.id) N
    @[simp]
    theorem Submodule.colon_top {R : Type u_1} [CommRing R] {I : Ideal R} :
    @[simp]
    theorem Submodule.colon_bot {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Submodule R M} :
    ⊥.colon N = N.annihilator
    theorem Submodule.colon_mono {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N₁ : Submodule R M} {N₂ : Submodule R M} {P₁ : Submodule R M} {P₂ : Submodule R M} (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) :
    N₁.colon P₂ ≤ N₂.colon P₁
    theorem Submodule.iInf_colon_iSup {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] (ι₁ : Sort u_6) (f : ι₁ → Submodule R M) (ι₂ : Sort u_7) (g : ι₂ → Submodule R M) :
    (⨅ (i : ι₁), f i).colon (⨆ (j : ι₂), g j) = ⨅ (i : ι₁), ⨅ (j : ι₂), (f i).colon (g j)
    @[simp]
    theorem Submodule.mem_colon_singleton {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Submodule R M} {x : M} {r : R} :
    r ∈ N.colon (Submodule.span R {x}) ↔ r • x ∈ N
    @[simp]
    theorem Ideal.mem_colon_singleton {R : Type u_1} [CommRing R] {I : Ideal R} {x : R} {r : R} :
    theorem Submodule.annihilator_quotient {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] {N : Submodule R M} :
    Module.annihilator R (M ⧸ N) = N.colon ⊤