Subrings
Content created by Louis Wasserman.
Created on 2025-10-25.
Last modified on 2025-10-25.
module ring-theory.subrings where
Imports
open import foundation.conjunction open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.propositions open import foundation.subtypes open import foundation.universe-levels open import group-theory.abelian-groups open import group-theory.monoids open import group-theory.subgroups-abelian-groups open import group-theory.submonoids open import ring-theory.rings open import ring-theory.subsets-rings
Idea
A
subring¶
of a ring R is a
subset of R that contains the zero and one of
the ring, and is closed under addition, multiplication, and negation.
Definition
module _ {l1 l2 : Level} (R : Ring l1) (S : subset-Ring l2 R) where is-subring-prop-subset-Ring : Prop (l1 ⊔ l2) is-subring-prop-subset-Ring = contains-zero-prop-subset-Ring R S ∧ contains-one-prop-subset-Ring R S ∧ is-closed-under-addition-prop-subset-Ring R S ∧ is-closed-under-negatives-prop-subset-Ring R S ∧ is-closed-under-multiplication-prop-subset-Ring R S is-subring-subset-Ring : UU (l1 ⊔ l2) is-subring-subset-Ring = type-Prop is-subring-prop-subset-Ring Subring : {l1 : Level} (l : Level) → Ring l1 → UU (l1 ⊔ lsuc l) Subring l R = type-subtype (is-subring-prop-subset-Ring {l2 = l} R) module _ {l1 l2 : Level} (R : Ring l1) (S : Subring l2 R) where subset-Subring : subtype l2 (type-Ring R) subset-Subring = pr1 S contains-zero-subset-Subring : contains-zero-subset-Ring R subset-Subring contains-zero-subset-Subring = pr1 (pr2 S) contains-one-subset-Subring : contains-one-subset-Ring R subset-Subring contains-one-subset-Subring = pr1 (pr2 (pr2 S)) is-closed-under-addition-subset-Subring : is-closed-under-addition-subset-Ring R subset-Subring is-closed-under-addition-subset-Subring = pr1 (pr2 (pr2 (pr2 S))) is-closed-under-negatives-subset-Subring : is-closed-under-negatives-subset-Ring R subset-Subring is-closed-under-negatives-subset-Subring = pr1 (pr2 (pr2 (pr2 (pr2 S)))) is-closed-under-multiplication-subset-Subring : is-closed-under-multiplication-subset-Ring R subset-Subring is-closed-under-multiplication-subset-Subring = pr2 (pr2 (pr2 (pr2 (pr2 S)))) type-Subring : UU (l1 ⊔ l2) type-Subring = type-subtype subset-Subring ab-Subring : Ab (l1 ⊔ l2) ab-Subring = ab-Subgroup-Ab ( ab-Ring R) ( subset-Subring , contains-zero-subset-Subring , is-closed-under-addition-subset-Subring , is-closed-under-negatives-subset-Subring) multiplicative-monoid-Subring : Monoid (l1 ⊔ l2) multiplicative-monoid-Subring = monoid-Submonoid ( multiplicative-monoid-Ring R) ( subset-Subring , contains-one-subset-Subring , is-closed-under-multiplication-subset-Subring) zero-Subring : type-Subring zero-Subring = zero-Ab ab-Subring one-Subring : type-Subring one-Subring = unit-Monoid multiplicative-monoid-Subring add-Subring : type-Subring → type-Subring → type-Subring add-Subring = add-Ab ab-Subring neg-Subring : type-Subring → type-Subring neg-Subring = neg-Ab ab-Subring mul-Subring : type-Subring → type-Subring → type-Subring mul-Subring = mul-Monoid multiplicative-monoid-Subring associative-add-Subring : (a b c : type-Subring) → add-Subring (add-Subring a b) c = add-Subring a (add-Subring b c) associative-add-Subring = associative-add-Ab ab-Subring left-unit-law-add-Subring : (a : type-Subring) → add-Subring zero-Subring a = a left-unit-law-add-Subring = left-unit-law-add-Ab ab-Subring right-unit-law-add-Subring : (a : type-Subring) → add-Subring a zero-Subring = a right-unit-law-add-Subring = right-unit-law-add-Ab ab-Subring left-inverse-law-add-Subring : (a : type-Subring) → add-Subring (neg-Subring a) a = zero-Subring left-inverse-law-add-Subring = left-inverse-law-add-Ab ab-Subring right-inverse-law-add-Subring : (a : type-Subring) → add-Subring a (neg-Subring a) = zero-Subring right-inverse-law-add-Subring = right-inverse-law-add-Ab ab-Subring associative-mul-Subring : (a b c : type-Subring) → mul-Subring (mul-Subring a b) c = mul-Subring a (mul-Subring b c) associative-mul-Subring = associative-mul-Monoid multiplicative-monoid-Subring left-unit-law-mul-Subring : (a : type-Subring) → mul-Subring one-Subring a = a left-unit-law-mul-Subring = left-unit-law-mul-Monoid multiplicative-monoid-Subring right-unit-law-mul-Subring : (a : type-Subring) → mul-Subring a one-Subring = a right-unit-law-mul-Subring = right-unit-law-mul-Monoid multiplicative-monoid-Subring left-distributive-mul-add-Subring : (a b c : type-Subring) → mul-Subring a (add-Subring b c) = add-Subring (mul-Subring a b) (mul-Subring a c) left-distributive-mul-add-Subring (a , _) (b , _) (c , _) = eq-type-subtype subset-Subring (left-distributive-mul-add-Ring R a b c) right-distributive-mul-add-Subring : (a b c : type-Subring) → mul-Subring (add-Subring a b) c = add-Subring (mul-Subring a c) (mul-Subring b c) right-distributive-mul-add-Subring (a , _) (b , _) (c , _) = eq-type-subtype subset-Subring (right-distributive-mul-add-Ring R a b c) ring-Subring : Ring (l1 ⊔ l2) ring-Subring = ( ab-Subring , ( mul-Subring , associative-mul-Subring) , ( one-Subring , left-unit-law-mul-Subring , right-unit-law-mul-Subring) , left-distributive-mul-add-Subring , right-distributive-mul-add-Subring)
External links
- Subring at Wikidata
Recent changes
- 2025-10-25. Louis Wasserman. Subrings (#1630).