The group of multiplicative units of a ring
Content created by Egbert Rijke, Fredrik Bakke and Gregor Perčič.
Created on 2023-09-21.
Last modified on 2024-03-11.
module ring-theory.groups-of-units-rings where
Imports
open import category-theory.functors-large-precategories open import foundation.identity-types open import foundation.propositions open import foundation.universe-levels open import group-theory.cores-monoids open import group-theory.groups open import group-theory.homomorphisms-groups open import group-theory.homomorphisms-monoids open import group-theory.monoids open import group-theory.precategory-of-groups open import group-theory.semigroups open import group-theory.submonoids open import ring-theory.homomorphisms-rings open import ring-theory.invertible-elements-rings open import ring-theory.precategory-of-rings open import ring-theory.rings
Idea
The group of units of a ring R
is the
group consisting of all the
invertible elements in R
.
Equivalently, the group of units of R
is the
core of the multiplicative
monoid of R
.
Definitions
module _ {l : Level} (R : Ring l) where subtype-group-of-units-Ring : type-Ring R → Prop l subtype-group-of-units-Ring = is-invertible-element-prop-Ring R submonoid-group-of-units-Ring : Submonoid l (multiplicative-monoid-Ring R) submonoid-group-of-units-Ring = submonoid-core-Monoid (multiplicative-monoid-Ring R) monoid-group-of-units-Ring : Monoid l monoid-group-of-units-Ring = monoid-core-Monoid (multiplicative-monoid-Ring R) semigroup-group-of-units-Ring : Semigroup l semigroup-group-of-units-Ring = semigroup-core-Monoid (multiplicative-monoid-Ring R) type-group-of-units-Ring : UU l type-group-of-units-Ring = type-core-Monoid (multiplicative-monoid-Ring R) mul-group-of-units-Ring : (x y : type-group-of-units-Ring) → type-group-of-units-Ring mul-group-of-units-Ring = mul-core-Monoid (multiplicative-monoid-Ring R) associative-mul-group-of-units-Ring : (x y z : type-group-of-units-Ring) → mul-group-of-units-Ring (mul-group-of-units-Ring x y) z = mul-group-of-units-Ring x (mul-group-of-units-Ring y z) associative-mul-group-of-units-Ring = associative-mul-core-Monoid (multiplicative-monoid-Ring R) unit-group-of-units-Ring : type-group-of-units-Ring unit-group-of-units-Ring = unit-core-Monoid (multiplicative-monoid-Ring R) left-unit-law-mul-group-of-units-Ring : (x : type-group-of-units-Ring) → mul-group-of-units-Ring unit-group-of-units-Ring x = x left-unit-law-mul-group-of-units-Ring = left-unit-law-mul-core-Monoid (multiplicative-monoid-Ring R) right-unit-law-mul-group-of-units-Ring : (x : type-group-of-units-Ring) → mul-group-of-units-Ring x unit-group-of-units-Ring = x right-unit-law-mul-group-of-units-Ring = right-unit-law-mul-core-Monoid (multiplicative-monoid-Ring R) is-unital-group-of-units-Ring : is-unital-Semigroup semigroup-group-of-units-Ring is-unital-group-of-units-Ring = is-unital-core-Monoid (multiplicative-monoid-Ring R) inv-group-of-units-Ring : type-group-of-units-Ring → type-group-of-units-Ring inv-group-of-units-Ring = inv-core-Monoid (multiplicative-monoid-Ring R) left-inverse-law-mul-group-of-units-Ring : (x : type-group-of-units-Ring) → mul-group-of-units-Ring (inv-group-of-units-Ring x) x = unit-group-of-units-Ring left-inverse-law-mul-group-of-units-Ring = left-inverse-law-mul-core-Monoid (multiplicative-monoid-Ring R) right-inverse-law-mul-group-of-units-Ring : (x : type-group-of-units-Ring) → mul-group-of-units-Ring x (inv-group-of-units-Ring x) = unit-group-of-units-Ring right-inverse-law-mul-group-of-units-Ring = right-inverse-law-mul-core-Monoid (multiplicative-monoid-Ring R) is-group-group-of-units-Ring' : is-group-is-unital-Semigroup ( semigroup-group-of-units-Ring) ( is-unital-group-of-units-Ring) is-group-group-of-units-Ring' = is-group-core-Monoid' (multiplicative-monoid-Ring R) is-group-group-of-units-Ring : is-group-Semigroup semigroup-group-of-units-Ring is-group-group-of-units-Ring = is-group-core-Monoid (multiplicative-monoid-Ring R) group-of-units-Ring : Group l group-of-units-Ring = core-Monoid (multiplicative-monoid-Ring R) inclusion-group-of-units-Ring : type-group-of-units-Ring → type-Ring R inclusion-group-of-units-Ring = inclusion-core-Monoid (multiplicative-monoid-Ring R) preserves-mul-inclusion-group-of-units-Ring : {x y : type-group-of-units-Ring} → inclusion-group-of-units-Ring (mul-group-of-units-Ring x y) = mul-Ring R ( inclusion-group-of-units-Ring x) ( inclusion-group-of-units-Ring y) preserves-mul-inclusion-group-of-units-Ring {x} {y} = preserves-mul-inclusion-core-Monoid (multiplicative-monoid-Ring R) {x} {y} hom-inclusion-group-of-units-Ring : hom-Monoid monoid-group-of-units-Ring (multiplicative-monoid-Ring R) hom-inclusion-group-of-units-Ring = hom-inclusion-core-Monoid (multiplicative-monoid-Ring R)
Properties
The group of units of a ring is a functor from rings to groups
The functorial action of group-of-units-Ring
module _ {l1 l2 : Level} (R : Ring l1) (S : Ring l2) (f : hom-Ring R S) where map-group-of-units-hom-Ring : type-group-of-units-Ring R → type-group-of-units-Ring S map-group-of-units-hom-Ring = map-core-hom-Monoid ( multiplicative-monoid-Ring R) ( multiplicative-monoid-Ring S) ( hom-multiplicative-monoid-hom-Ring R S f) preserves-mul-hom-group-of-units-hom-Ring : {x y : type-group-of-units-Ring R} → map-group-of-units-hom-Ring (mul-group-of-units-Ring R x y) = mul-group-of-units-Ring S ( map-group-of-units-hom-Ring x) ( map-group-of-units-hom-Ring y) preserves-mul-hom-group-of-units-hom-Ring = preserves-mul-hom-core-hom-Monoid ( multiplicative-monoid-Ring R) ( multiplicative-monoid-Ring S) ( hom-multiplicative-monoid-hom-Ring R S f) hom-group-of-units-hom-Ring : hom-Group (group-of-units-Ring R) (group-of-units-Ring S) hom-group-of-units-hom-Ring = hom-core-hom-Monoid ( multiplicative-monoid-Ring R) ( multiplicative-monoid-Ring S) ( hom-multiplicative-monoid-hom-Ring R S f) preserves-unit-hom-group-of-units-hom-Ring : map-group-of-units-hom-Ring (unit-group-of-units-Ring R) = unit-group-of-units-Ring S preserves-unit-hom-group-of-units-hom-Ring = preserves-unit-hom-core-hom-Monoid ( multiplicative-monoid-Ring R) ( multiplicative-monoid-Ring S) ( hom-multiplicative-monoid-hom-Ring R S f) preserves-inv-hom-group-of-units-hom-Ring : {x : type-group-of-units-Ring R} → map-group-of-units-hom-Ring (inv-group-of-units-Ring R x) = inv-group-of-units-Ring S (map-group-of-units-hom-Ring x) preserves-inv-hom-group-of-units-hom-Ring = preserves-inv-hom-core-hom-Monoid ( multiplicative-monoid-Ring R) ( multiplicative-monoid-Ring S) ( hom-multiplicative-monoid-hom-Ring R S f)
The functorial laws of group-of-units-Ring
module _ {l : Level} (R : Ring l) where preserves-id-hom-group-of-units-hom-Ring : hom-group-of-units-hom-Ring R R (id-hom-Ring R) = id-hom-Group (group-of-units-Ring R) preserves-id-hom-group-of-units-hom-Ring = preserves-id-hom-core-hom-Monoid (multiplicative-monoid-Ring R) module _ {l1 l2 l3 : Level} (R : Ring l1) (S : Ring l2) (T : Ring l3) where preserves-comp-hom-group-of-units-hom-Ring : (g : hom-Ring S T) (f : hom-Ring R S) → hom-group-of-units-hom-Ring R T (comp-hom-Ring R S T g f) = comp-hom-Group ( group-of-units-Ring R) ( group-of-units-Ring S) ( group-of-units-Ring T) ( hom-group-of-units-hom-Ring S T g) ( hom-group-of-units-hom-Ring R S f) preserves-comp-hom-group-of-units-hom-Ring g f = preserves-comp-hom-core-hom-Monoid ( multiplicative-monoid-Ring R) ( multiplicative-monoid-Ring S) ( multiplicative-monoid-Ring T) ( hom-multiplicative-monoid-hom-Ring S T g) ( hom-multiplicative-monoid-hom-Ring R S f)
The functor group-of-units-Ring
group-of-units-ring-functor-Large-Precategory : functor-Large-Precategory ( λ l → l) ( Ring-Large-Precategory) ( Group-Large-Precategory) obj-functor-Large-Precategory group-of-units-ring-functor-Large-Precategory = group-of-units-Ring hom-functor-Large-Precategory group-of-units-ring-functor-Large-Precategory {X = R} {Y = S} = hom-group-of-units-hom-Ring R S preserves-comp-functor-Large-Precategory group-of-units-ring-functor-Large-Precategory {X = R} {Y = S} {Z = T} = preserves-comp-hom-group-of-units-hom-Ring R S T preserves-id-functor-Large-Precategory group-of-units-ring-functor-Large-Precategory {X = R} = preserves-id-hom-group-of-units-hom-Ring R
Recent changes
- 2024-03-11. Fredrik Bakke. Refactor category theory to use strictly involutive identity types (#1052).
- 2023-11-24. Egbert Rijke. Refactor precomposition (#937).
- 2023-11-24. Egbert Rijke. Abelianization (#877).
- 2023-10-17. Egbert Rijke and Fredrik Bakke. Adjunctions of large categories and some minor refactoring (#854).
- 2023-09-26. Fredrik Bakke and Egbert Rijke. Maps of categories, functor categories, and small subprecategories (#794).