Two Sided Ideals #
In this file, for any Ring R
, we reinterpret I : RingCon R
as a two-sided-ideal of a ring.
Main definitions and results #
TwoSidedIdeal
: For anyNonUnitalNonAssocRing R
,TwoSidedIdeal R
is a wrapper aroundRingCon R
.TwoSidedIdeal.setLike
: EveryI : TwoSidedIdeal R
can be interpreted as a set ofR
wherex ∈ I
if and only ifI.ringCon x 0
.TwoSidedIdeal.addCommGroup
: EveryI : TwoSidedIdeal R
is an abelian group.
A two-sided ideal of a ring R
is a subset of R
that contains 0
and is closed under addition,
negation, and absorbs multiplication on both sides.
- ringCon : RingCon R
every two-sided-ideal is induced by a congruence relation on the ring.
Instances For
Equations
- TwoSidedIdeal.setLike = { coe := fun (t : TwoSidedIdeal R) => {r : R | t.ringCon r 0}, coe_injective' := ⋯ }
the coercion from two-sided-ideals to sets is an order embedding
Equations
- TwoSidedIdeal.coeOrderEmbedding = { toFun := SetLike.coe, inj' := ⋯, map_rel_iff' := ⋯ }
Instances For
Two-sided-ideals corresponds to congruence relations on a ring.
Equations
- TwoSidedIdeal.orderIsoRingCon = { toFun := TwoSidedIdeal.ringCon, invFun := TwoSidedIdeal.mk, left_inv := ⋯, right_inv := ⋯, map_rel_iff' := ⋯ }
Instances For
The "set-theoretic-way" of constructing a two-sided ideal by providing:
- the underlying set
S
; - a proof that
0 ∈ S
; - a proof that
x + y ∈ S
ifx ∈ S
andy ∈ S
; - a proof that
-x ∈ S
ifx ∈ S
; - a proof that
x * y ∈ S
ify ∈ S
; - a proof that
x * y ∈ S
ifx ∈ S
.
Equations
- TwoSidedIdeal.mk' carrier zero_mem add_mem neg_mem mul_mem_left mul_mem_right = { ringCon := { r := fun (x y : R) => x - y ∈ carrier, iseqv := ⋯, mul' := ⋯, add' := ⋯ } }
Instances For
Equations
- I.instAddSubtypeMem = { add := fun (x y : ↥I) => ⟨↑x + ↑y, ⋯⟩ }
Equations
- I.instZeroSubtypeMem = { zero := ⟨0, ⋯⟩ }
Equations
- I.instSMulNatSubtypeMem = { smul := fun (n : ℕ) (x : ↥I) => ⟨n • ↑x, ⋯⟩ }
Equations
- I.instNegSubtypeMem = { neg := fun (x : ↥I) => ⟨-↑x, ⋯⟩ }
Equations
- I.instSubSubtypeMem = { sub := fun (x y : ↥I) => ⟨↑x - ↑y, ⋯⟩ }
Equations
- I.instSMulIntSubtypeMem = { smul := fun (n : ℤ) (x : ↥I) => ⟨n • ↑x, ⋯⟩ }
Equations
- I.addCommGroup = Function.Injective.addCommGroup (fun (a : ↥I) => ↑a) ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
The coercion into the ring as a AddMonoidHom
Equations
- I.coeAddMonoidHom = { toFun := Subtype.val, map_zero' := ⋯, map_add' := ⋯ }
Instances For
If I
is a two-sided ideal of R
, then {op x | x ∈ I}
is a two-sided ideal in Rᵐᵒᵖ
.
Instances For
If I
is a two-sided ideal of Rᵐᵒᵖ
, then {x.unop | x ∈ I}
is a two-sided ideal in R
.
Instances For
Two-sided-ideals of A
and that of Aᵒᵖ
corresponds bijectively to each other.
Equations
- TwoSidedIdeal.opOrderIso = { toFun := TwoSidedIdeal.op, invFun := TwoSidedIdeal.unop, left_inv := ⋯, right_inv := ⋯, map_rel_iff' := ⋯ }