This is an archived version pinned as of the submission of my master's thesis. An up-to-date version may be found online.
Ideals of 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-subset-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