Ideal quotients #
This file defines ideal quotients as a special case of submodule quotients and proves some basic results about these quotients.
See Algebra.RingQuot
for quotients of non-commutative rings.
Main definitions #
Ideal.instHasQuotient
: the quotient of a commutative ringR
by an idealI : Ideal R
Ideal.Quotient.commRing
: the ring structure of the ideal quotientIdeal.Quotient.mk
: map an element ofR
to the quotientR ⧸ I
Ideal.Quotient.lift
: turn a mapR → S
into a mapR ⧸ I → S
Ideal.quotEquivOfEq
: quotienting by equal ideals gives isomorphic rings
The quotient R/I
of a ring R
by an ideal I
.
The ideal quotient of I
is defined to equal the quotient of I
as an R
-submodule of R
.
This definition uses abbrev
so that typeclass instances can be shared between
Ideal.Quotient I
and Submodule.Quotient I
.
Equations
- Ideal.instHasQuotient = Submodule.hasQuotient
Equations
- Ideal.Quotient.one I = { one := Submodule.Quotient.mk 1 }
On Ideal
s, Submodule.quotientRel
is a ring congruence.
Equations
- Ideal.Quotient.ringCon I = { toSetoid := (QuotientAddGroup.con (Submodule.toAddSubgroup I)).toSetoid, mul' := ⋯, add' := ⋯ }
Instances For
Equations
- Ideal.Quotient.commRing I = inferInstanceAs (CommRing (Ideal.Quotient.ringCon I).Quotient)
The ring homomorphism from a ring R
to a quotient ring R/I
.
Equations
- Ideal.Quotient.mk I = { toFun := fun (a : R) => Submodule.Quotient.mk a, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Equations
- Ideal.Quotient.instCoeQuotient = { coe := ⇑(Ideal.Quotient.mk I) }
Two RingHom
s from the quotient by an ideal are equal if their
compositions with Ideal.Quotient.mk'
are equal.
See note [partially-applied ext lemmas].
Equations
- Ideal.Quotient.inhabited = { default := (Ideal.Quotient.mk I) 37 }
Equations
- ⋯ = ⋯
If I
is an ideal of a commutative ring R
, if q : R → R/I
is the quotient map, and if
s ⊆ R
is a subset, then q⁻¹(q(s)) = ⋃ᵢ(i + s)
, the union running over all i ∈ I
.
Given a ring homomorphism f : R →+* S
sending all elements of an ideal to zero,
lift it to the quotient by this ideal.
Equations
- Ideal.Quotient.lift I f H = { toFun := (↑(QuotientAddGroup.lift (Submodule.toAddSubgroup I) f.toAddMonoidHom H)).toFun, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
Instances For
The ring homomorphism from the quotient by a smaller ideal to the quotient by a larger ideal.
This is the Ideal.Quotient
version of Quot.Factor
Equations
- Ideal.Quotient.factor S T H = Ideal.Quotient.lift S (Ideal.Quotient.mk T) ⋯
Instances For
Quotienting by equal ideals gives equivalent rings.
See also Submodule.quotEquivOfEq
and Ideal.quotientEquivAlgOfEq
.
Equations
- Ideal.quotEquivOfEq h = { toFun := (↑(Submodule.quotEquivOfEq I J h)).toFun, invFun := (Submodule.quotEquivOfEq I J h).invFun, left_inv := ⋯, right_inv := ⋯, map_mul' := ⋯, map_add' := ⋯ }