Ideals in semirings
module ring-theory.ideals-semirings where
Imports
open import foundation.cartesian-product-types open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.propositions open import foundation.universe-levels open import group-theory.submonoids open import ring-theory.semirings open import ring-theory.subsets-semirings
Idea
An ideal (resp. a left/right ideal) of a semiring R
is an additive
submodule of R
that is closed under multiplication by elements of R
(from
the left/right).
Note
This is the standard definition of ideals in semirings. However, such two-sided
ideals do not correspond uniquely to congruences on R
. If we ask in addition
that the underlying additive submodule is normal, then we get unique
correspondence to congruences. We will call such ideals normal.
Definitions
Additive submonoids
module _ {l1 : Level} (R : Semiring l1) where is-additive-submonoid-Semiring : {l2 : Level} → subset-Semiring l2 R → UU (l1 ⊔ l2) is-additive-submonoid-Semiring = is-submonoid-Monoid (additive-monoid-Semiring R)
Left ideals
module _ {l1 : Level} (R : Semiring l1) where is-left-ideal-subset-Semiring : {l2 : Level} → subset-Semiring l2 R → UU (l1 ⊔ l2) is-left-ideal-subset-Semiring P = is-additive-submonoid-Semiring R P × is-closed-under-left-multiplication-subset-Semiring R P left-ideal-Semiring : (l : Level) {l1 : Level} (R : Semiring l1) → UU ((lsuc l) ⊔ l1) left-ideal-Semiring l R = Σ (subset-Semiring l R) (is-left-ideal-subset-Semiring R) module _ {l1 l2 : Level} (R : Semiring l1) (I : left-ideal-Semiring l2 R) where subset-left-ideal-Semiring : subset-Semiring l2 R subset-left-ideal-Semiring = pr1 I is-in-left-ideal-Semiring : type-Semiring R → UU l2 is-in-left-ideal-Semiring x = type-Prop (subset-left-ideal-Semiring x) type-left-ideal-Semiring : UU (l1 ⊔ l2) type-left-ideal-Semiring = type-subset-Semiring R subset-left-ideal-Semiring inclusion-left-ideal-Semiring : type-left-ideal-Semiring → type-Semiring R inclusion-left-ideal-Semiring = inclusion-subset-Semiring R subset-left-ideal-Semiring ap-inclusion-left-ideal-Semiring : (x y : type-left-ideal-Semiring) → x = y → inclusion-left-ideal-Semiring x = inclusion-left-ideal-Semiring y ap-inclusion-left-ideal-Semiring = ap-inclusion-subset-Semiring R subset-left-ideal-Semiring is-in-subset-inclusion-left-ideal-Semiring : (x : type-left-ideal-Semiring) → is-in-left-ideal-Semiring (inclusion-left-ideal-Semiring x) is-in-subset-inclusion-left-ideal-Semiring = is-in-subset-inclusion-subset-Semiring R subset-left-ideal-Semiring is-closed-under-eq-left-ideal-Semiring : {x y : type-Semiring R} → is-in-left-ideal-Semiring x → (x = y) → is-in-left-ideal-Semiring y is-closed-under-eq-left-ideal-Semiring = is-closed-under-eq-subset-Semiring R subset-left-ideal-Semiring is-closed-under-eq-left-ideal-Semiring' : {x y : type-Semiring R} → is-in-left-ideal-Semiring y → (x = y) → is-in-left-ideal-Semiring x is-closed-under-eq-left-ideal-Semiring' = is-closed-under-eq-subset-Semiring' R subset-left-ideal-Semiring is-left-ideal-subset-left-ideal-Semiring : is-left-ideal-subset-Semiring R subset-left-ideal-Semiring is-left-ideal-subset-left-ideal-Semiring = pr2 I is-additive-submonoid-left-ideal-Semiring : is-additive-submonoid-Semiring R subset-left-ideal-Semiring is-additive-submonoid-left-ideal-Semiring = pr1 is-left-ideal-subset-left-ideal-Semiring contains-zero-left-ideal-Semiring : is-in-left-ideal-Semiring (zero-Semiring R) contains-zero-left-ideal-Semiring = pr1 is-additive-submonoid-left-ideal-Semiring is-closed-under-addition-left-ideal-Semiring : is-closed-under-addition-subset-Semiring R subset-left-ideal-Semiring is-closed-under-addition-left-ideal-Semiring = pr2 is-additive-submonoid-left-ideal-Semiring is-closed-under-left-multiplication-left-ideal-Semiring : is-closed-under-left-multiplication-subset-Semiring R subset-left-ideal-Semiring is-closed-under-left-multiplication-left-ideal-Semiring = pr2 is-left-ideal-subset-left-ideal-Semiring
Right ideals
module _ {l1 : Level} (R : Semiring l1) where is-right-ideal-subset-Semiring : {l2 : Level} → subset-Semiring l2 R → UU (l1 ⊔ l2) is-right-ideal-subset-Semiring P = is-additive-submonoid-Semiring R P × is-closed-under-right-multiplication-subset-Semiring R P right-ideal-Semiring : (l : Level) {l1 : Level} (R : Semiring l1) → UU ((lsuc l) ⊔ l1) right-ideal-Semiring l R = Σ (subset-Semiring l R) (is-right-ideal-subset-Semiring R) module _ {l1 l2 : Level} (R : Semiring l1) (I : right-ideal-Semiring l2 R) where subset-right-ideal-Semiring : subset-Semiring l2 R subset-right-ideal-Semiring = pr1 I is-in-right-ideal-Semiring : type-Semiring R → UU l2 is-in-right-ideal-Semiring x = type-Prop (subset-right-ideal-Semiring x) type-right-ideal-Semiring : UU (l1 ⊔ l2) type-right-ideal-Semiring = type-subset-Semiring R subset-right-ideal-Semiring inclusion-right-ideal-Semiring : type-right-ideal-Semiring → type-Semiring R inclusion-right-ideal-Semiring = inclusion-subset-Semiring R subset-right-ideal-Semiring ap-inclusion-right-ideal-Semiring : (x y : type-right-ideal-Semiring) → x = y → inclusion-right-ideal-Semiring x = inclusion-right-ideal-Semiring y ap-inclusion-right-ideal-Semiring = ap-inclusion-subset-Semiring R subset-right-ideal-Semiring is-in-subset-inclusion-right-ideal-Semiring : (x : type-right-ideal-Semiring) → is-in-right-ideal-Semiring (inclusion-right-ideal-Semiring x) is-in-subset-inclusion-right-ideal-Semiring = is-in-subset-inclusion-subset-Semiring R subset-right-ideal-Semiring is-closed-under-eq-right-ideal-Semiring : {x y : type-Semiring R} → is-in-right-ideal-Semiring x → (x = y) → is-in-right-ideal-Semiring y is-closed-under-eq-right-ideal-Semiring = is-closed-under-eq-subset-Semiring R subset-right-ideal-Semiring is-closed-under-eq-right-ideal-Semiring' : {x y : type-Semiring R} → is-in-right-ideal-Semiring y → (x = y) → is-in-right-ideal-Semiring x is-closed-under-eq-right-ideal-Semiring' = is-closed-under-eq-subset-Semiring' R subset-right-ideal-Semiring is-right-ideal-subset-right-ideal-Semiring : is-right-ideal-subset-Semiring R subset-right-ideal-Semiring is-right-ideal-subset-right-ideal-Semiring = pr2 I is-additive-submonoid-right-ideal-Semiring : is-additive-submonoid-Semiring R subset-right-ideal-Semiring is-additive-submonoid-right-ideal-Semiring = pr1 is-right-ideal-subset-right-ideal-Semiring contains-zero-right-ideal-Semiring : is-in-right-ideal-Semiring (zero-Semiring R) contains-zero-right-ideal-Semiring = pr1 is-additive-submonoid-right-ideal-Semiring is-closed-under-addition-right-ideal-Semiring : is-closed-under-addition-subset-Semiring R subset-right-ideal-Semiring is-closed-under-addition-right-ideal-Semiring = pr2 is-additive-submonoid-right-ideal-Semiring is-closed-under-right-multiplication-right-ideal-Semiring : is-closed-under-right-multiplication-subset-Semiring R subset-right-ideal-Semiring is-closed-under-right-multiplication-right-ideal-Semiring = pr2 is-right-ideal-subset-right-ideal-Semiring
Two-sided ideals
is-ideal-subset-Semiring : {l1 l2 : Level} (R : Semiring l1) (P : subset-Semiring l2 R) → UU (l1 ⊔ l2) is-ideal-subset-Semiring R P = is-additive-submonoid-Semiring R P × ( is-closed-under-left-multiplication-subset-Semiring R P × is-closed-under-right-multiplication-subset-Semiring R P) ideal-Semiring : (l : Level) {l1 : Level} (R : Semiring l1) → UU ((lsuc l) ⊔ l1) ideal-Semiring l R = Σ (subset-Semiring l R) (is-ideal-subset-Semiring R) module _ {l1 l2 : Level} (R : Semiring l1) (I : ideal-Semiring l2 R) where subset-ideal-Semiring : subset-Semiring l2 R subset-ideal-Semiring = pr1 I is-in-ideal-Semiring : type-Semiring R → UU l2 is-in-ideal-Semiring = is-in-subset-Semiring R subset-ideal-Semiring is-prop-is-in-ideal-Semiring : (x : type-Semiring R) → is-prop (is-in-ideal-Semiring x) is-prop-is-in-ideal-Semiring = is-prop-is-in-subset-Semiring R subset-ideal-Semiring type-ideal-Semiring : UU (l1 ⊔ l2) type-ideal-Semiring = type-subset-Semiring R subset-ideal-Semiring inclusion-ideal-Semiring : type-ideal-Semiring → type-Semiring R inclusion-ideal-Semiring = inclusion-subset-Semiring R subset-ideal-Semiring ap-inclusion-ideal-Semiring : (x y : type-ideal-Semiring) → x = y → inclusion-ideal-Semiring x = inclusion-ideal-Semiring y ap-inclusion-ideal-Semiring = ap-inclusion-subset-Semiring R subset-ideal-Semiring is-in-subset-inclusion-ideal-Semiring : (x : type-ideal-Semiring) → is-in-ideal-Semiring (inclusion-ideal-Semiring x) is-in-subset-inclusion-ideal-Semiring = is-in-subset-inclusion-subset-Semiring R subset-ideal-Semiring is-closed-under-eq-ideal-Semiring : {x y : type-Semiring R} → is-in-ideal-Semiring x → (x = y) → is-in-ideal-Semiring y is-closed-under-eq-ideal-Semiring = is-closed-under-eq-subset-Semiring R subset-ideal-Semiring is-closed-under-eq-ideal-Semiring' : {x y : type-Semiring R} → is-in-ideal-Semiring y → (x = y) → is-in-ideal-Semiring x is-closed-under-eq-ideal-Semiring' = is-closed-under-eq-subset-Semiring' R subset-ideal-Semiring is-ideal-subset-ideal-Semiring : is-ideal-subset-Semiring R subset-ideal-Semiring is-ideal-subset-ideal-Semiring = pr2 I is-additive-submonoid-ideal-Semiring : is-additive-submonoid-Semiring R subset-ideal-Semiring is-additive-submonoid-ideal-Semiring = pr1 is-ideal-subset-ideal-Semiring contains-zero-ideal-Semiring : is-in-ideal-Semiring (zero-Semiring R) contains-zero-ideal-Semiring = pr1 is-additive-submonoid-ideal-Semiring is-closed-under-addition-ideal-Semiring : is-closed-under-addition-subset-Semiring R subset-ideal-Semiring is-closed-under-addition-ideal-Semiring = pr2 is-additive-submonoid-ideal-Semiring is-closed-under-left-multiplication-ideal-Semiring : is-closed-under-left-multiplication-subset-Semiring R subset-ideal-Semiring is-closed-under-left-multiplication-ideal-Semiring = pr1 (pr2 is-ideal-subset-ideal-Semiring) is-closed-under-right-multiplication-ideal-Semiring : is-closed-under-right-multiplication-subset-Semiring R subset-ideal-Semiring is-closed-under-right-multiplication-ideal-Semiring = pr2 (pr2 is-ideal-subset-ideal-Semiring) submonoid-ideal-Semiring : Submonoid l2 (additive-monoid-Semiring R) pr1 submonoid-ideal-Semiring = subset-ideal-Semiring pr1 (pr2 submonoid-ideal-Semiring) = contains-zero-ideal-Semiring pr2 (pr2 submonoid-ideal-Semiring) = is-closed-under-addition-ideal-Semiring