Ideals over a ring #
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.
theorem Ideal.mul_mem_right {α : Type u_1} {a : α} (b : α) [Semiring α] (I : Ideal α) [I.IsTwoSided] (h : a ∈ I) :
def Module.eqIdeal (R : Type u_1) {M : Type u_2} [Semiring R] [AddCommMonoid M] [Module R M] (m m' : M) :
Ideal R
For two elements m and m' in an R-module M, the set of elements r : R with
equal scalar product with m and m' is an ideal of R. If M is a group, this coincides
with the kernel of LinearMap.toSpanSingleton R M (m - m').
Equations
Instances For
@[simp]
theorem Ideal.mul_unit_mem_iff_mem {α : Type u} [CommSemiring α] (I : Ideal α) {x y : α} (hy : IsUnit y) :
theorem Ideal.mem_of_dvd {α : Type u} {a b : α} [CommSemiring α] (I : Ideal α) (hab : a ∣ b) (ha : a ∈ I) :
@[reducible, inline]
abbrev Ideal.inertia {α : Type u} [Ring α] (G : Type u_1) [Group G] [MulAction G α] (I : Ideal α) :
Subgroup G
The subgroup of elements g of G such that ∀ x, g • x - x ∈ I.
Equations
- Ideal.inertia G I = (Submodule.toAddSubgroup I).inertia G