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 P : Submodule R M)
:
Ideal R
N.colon P
is the ideal of all elements r : R
such that r • P ⊆ N
.
Equations
- N.colon P = (Submodule.map N.mkQ P).annihilator
Instances For
theorem
Submodule.mem_colon'
{R : Type u_1}
{M : Type u_2}
[CommRing R]
[AddCommGroup M]
[Module R M]
{N P : Submodule R M}
{r : R}
:
r ∈ N.colon P ↔ P ≤ Submodule.comap (r • LinearMap.id) N
@[simp]
@[simp]
theorem
Submodule.colon_bot
{R : Type u_1}
{M : Type u_2}
[CommRing R]
[AddCommGroup M]
[Module R M]
{N : Submodule R M}
:
@[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 ∈ Submodule.colon I (Ideal.span {x}) ↔ r * x ∈ I
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 ⊤
theorem
Ideal.annihilator_quotient
{R : Type u_1}
[CommRing R]
{I : Ideal R}
:
Module.annihilator R (R ⧸ I) = I