Ideals over a ring #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines 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.
The ideal generated by a subset of a ring
Equations
- ideal.span s = submodule.span α s
The ideal generated by an arbitrary binary relation.
Equations
- ideal.of_rel r = submodule.span α {x : α | ∃ (a b : α) (h : r a b), x + b = a}
An ideal P
of a ring R
is prime if P ≠ R
and xy ∈ P → x ∈ P ∨ y ∈ P
Instances of this typeclass
- out : is_coatom I
An ideal is maximal if it is maximal in the collection of proper ideals.
Instances of this typeclass
Krull's theorem: a nontrivial ring has a maximal ideal.
All ideals in a division (semi)ring are trivial.
Ideals of a division_semiring
are a simple order. Thanks to the way abbreviations work,
this automatically gives a is_simple_module K
instance.
Also see ideal.is_simple_order
for the forward direction as an instance when R
is a
division (semi)ring.
This result actually holds for all division semirings, but we lack the predicate to state it.
When a ring is not a field, the maximal ideals are nontrivial.