Ideals over a ring #
This file contains an assortment of definitions and results for Ideal R,
the type of (left) ideals over a ring R.
Note that over commutative rings, left ideals and two-sided ideals are equivalent.
Implementation notes #
Ideal R is implemented using Submodule R R, where • is interpreted as *.
TODO #
Support right ideals, and two-sided ideals over non-commutative rings.
An ideal is maximal if it is maximal in the collection of proper ideals.
- out : IsCoatom I
The maximal ideal is a coatom in the ordering on ideals; that is, it is not the entire ring, and there are no other proper ideals strictly containing it.
Instances
Krull's theorem: if I is an ideal that is not the whole ring, then it is included in some
maximal ideal.
Krull's theorem: a nontrivial ring has a maximal ideal.
theorem
Ideal.IsMaximal.exists_inv
{α : Type u}
[Semiring α]
{I : Ideal α}
(hI : I.IsMaximal)
{x : α}
(hx : x ∉ I)
:
∃ (y : α), ∃ i ∈ I, y * x + i = 1
theorem
Ideal.IsMaximal.isPrime
{α : Type u}
[CommSemiring α]
{I : Ideal α}
(H : I.IsMaximal)
:
I.IsPrime
@[instance 100]
instance
Ideal.IsMaximal.isPrime'
{α : Type u}
[CommSemiring α]
(I : Ideal α)
[_H : I.IsMaximal]
:
I.IsPrime
theorem
Ideal.exists_disjoint_powers_of_span_eq_top
{α : Type u}
[CommSemiring α]
(s : Set α)
(hs : span s = ⊤)
(I : Ideal α)
(hI : I ≠ ⊤)
:
∃ r ∈ s, Disjoint ↑I ↑(Submonoid.powers r)
theorem
Ideal.span_singleton_lt_span_singleton
{α : Type u}
[CommSemiring α]
[IsDomain α]
{x y : α}
:
span {x} < span {y} ↔ DvdNotUnit y x
theorem
Ideal.isPrime_of_maximally_disjoint
{α : Type u}
[CommSemiring α]
(I : Ideal α)
(S : Submonoid α)
(disjoint : Disjoint ↑I ↑S)
(maximally_disjoint : ∀ (J : Ideal α), I < J → ¬Disjoint ↑J ↑S)
:
I.IsPrime
theorem
Ideal.exists_le_prime_disjoint
{α : Type u}
[CommSemiring α]
(I : Ideal α)
(S : Submonoid α)
(disjoint : Disjoint ↑I ↑S)
:
theorem
Ideal.exists_le_prime_notMem_of_isIdempotentElem
{α : Type u}
[CommSemiring α]
(I : Ideal α)
(a : α)
(ha : IsIdempotentElem a)
(haI : a ∉ I)
:
theorem
Ideal.isPrime_iff_of_isPrincipalIdealRing
{α : Type u}
[CommSemiring α]
[IsPrincipalIdealRing α]
{P : Ideal α}
(hP : P ≠ ⊥)
:
theorem
Ideal.isPrime_iff_of_isPrincipalIdealRing_of_noZeroDivisors
{α : Type u}
[CommSemiring α]
[IsPrincipalIdealRing α]
[NoZeroDivisors α]
[Nontrivial α]
{P : Ideal α}
: