Transporting ring structures along isomorphisms of abelian groups
Content created by Egbert Rijke and Fredrik Bakke.
Created on 2023-09-10.
Last modified on 2023-11-24.
module ring-theory.transporting-ring-structure-along-isomorphisms-abelian-groups where
Imports
open import foundation.action-on-identifications-functions open import foundation.dependent-pair-types open import foundation.identity-types open import foundation.unital-binary-operations open import foundation.universe-levels open import group-theory.abelian-groups open import group-theory.isomorphisms-abelian-groups open import group-theory.semigroups open import ring-theory.homomorphisms-rings open import ring-theory.isomorphisms-rings open import ring-theory.rings
Idea
If R
is a ring and A
is an
abelian group equipped with an
isomorphism R ≅ A
from the
additive abelian group of R
to A
, then the multiplicative structure of R
can be transported along the isomorphism to obtain a ring structure on A
.
Note that this structure can be transported by univalence. However, we will give explicit definitions, since univalence is not strictly necessary to obtain this transported ring structure.
Definitions
Transporting the multiplicative structure of a ring along an isomorphism of abelian groups
module _ {l1 l2 : Level} (R : Ring l1) (A : Ab l2) (f : iso-Ab (ab-Ring R) A) where one-transport-ring-structure-iso-Ab : type-Ab A one-transport-ring-structure-iso-Ab = map-iso-Ab (ab-Ring R) A f (one-Ring R) mul-transport-ring-structure-iso-Ab : (x y : type-Ab A) → type-Ab A mul-transport-ring-structure-iso-Ab x y = map-iso-Ab (ab-Ring R) A f ( mul-Ring R ( map-inv-iso-Ab (ab-Ring R) A f x) ( map-inv-iso-Ab (ab-Ring R) A f y)) private one = one-transport-ring-structure-iso-Ab mul = mul-transport-ring-structure-iso-Ab map-f = map-iso-Ab (ab-Ring R) A f map-inv-f = map-inv-iso-Ab (ab-Ring R) A f associative-mul-transport-ring-structure-iso-Ab : (x y z : type-Ab A) → mul (mul x y) z = mul x (mul y z) associative-mul-transport-ring-structure-iso-Ab x y z = ap ( map-f) ( ( ap (mul-Ring' R _) (is-retraction-map-inv-iso-Ab (ab-Ring R) A f _)) ∙ ( ( associative-mul-Ring R _ _ _) ∙ ( inv ( ap ( mul-Ring R _) ( is-retraction-map-inv-iso-Ab (ab-Ring R) A f _))))) left-unit-law-mul-transport-ring-structure-iso-Ab : (x : type-Ab A) → mul one x = x left-unit-law-mul-transport-ring-structure-iso-Ab x = ( ap ( map-f) ( ( ap (mul-Ring' R _) (is-retraction-map-inv-iso-Ab (ab-Ring R) A f _)) ∙ ( left-unit-law-mul-Ring R _))) ∙ ( is-section-map-inv-iso-Ab (ab-Ring R) A f x) right-unit-law-mul-transport-ring-structure-iso-Ab : (x : type-Ab A) → mul x one = x right-unit-law-mul-transport-ring-structure-iso-Ab x = ( ap ( map-f) ( ( ap (mul-Ring R _) (is-retraction-map-inv-iso-Ab (ab-Ring R) A f _)) ∙ ( right-unit-law-mul-Ring R _))) ∙ ( is-section-map-inv-iso-Ab (ab-Ring R) A f x) left-distributive-mul-add-transport-ring-structure-iso-Ab : (x y z : type-Ab A) → mul x (add-Ab A y z) = add-Ab A (mul x y) (mul x z) left-distributive-mul-add-transport-ring-structure-iso-Ab x y z = ( ap ( map-f) ( ( ap (mul-Ring R _) (preserves-add-inv-iso-Ab (ab-Ring R) A f)) ∙ ( left-distributive-mul-add-Ring R _ _ _))) ∙ ( preserves-add-iso-Ab (ab-Ring R) A f) right-distributive-mul-add-transport-ring-structure-iso-Ab : (x y z : type-Ab A) → mul (add-Ab A x y) z = add-Ab A (mul x z) (mul y z) right-distributive-mul-add-transport-ring-structure-iso-Ab x y z = ( ap ( map-f) ( ( ap (mul-Ring' R _) (preserves-add-inv-iso-Ab (ab-Ring R) A f)) ∙ ( right-distributive-mul-add-Ring R _ _ _))) ∙ ( preserves-add-iso-Ab (ab-Ring R) A f) has-associative-mul-transport-ring-structure-iso-Ab : has-associative-mul-Set (set-Ab A) pr1 has-associative-mul-transport-ring-structure-iso-Ab = mul pr2 has-associative-mul-transport-ring-structure-iso-Ab = associative-mul-transport-ring-structure-iso-Ab is-unital-transport-ring-structure-iso-Ab : is-unital mul pr1 is-unital-transport-ring-structure-iso-Ab = one pr1 (pr2 is-unital-transport-ring-structure-iso-Ab) = left-unit-law-mul-transport-ring-structure-iso-Ab pr2 (pr2 is-unital-transport-ring-structure-iso-Ab) = right-unit-law-mul-transport-ring-structure-iso-Ab transport-ring-structure-iso-Ab : Ring l2 pr1 transport-ring-structure-iso-Ab = A pr1 (pr2 transport-ring-structure-iso-Ab) = has-associative-mul-transport-ring-structure-iso-Ab pr1 (pr2 (pr2 transport-ring-structure-iso-Ab)) = is-unital-transport-ring-structure-iso-Ab pr1 (pr2 (pr2 (pr2 transport-ring-structure-iso-Ab))) = left-distributive-mul-add-transport-ring-structure-iso-Ab pr2 (pr2 (pr2 (pr2 transport-ring-structure-iso-Ab))) = right-distributive-mul-add-transport-ring-structure-iso-Ab preserves-mul-transport-ring-structure-iso-Ab : preserves-mul-hom-Ab ( R) ( transport-ring-structure-iso-Ab) ( hom-iso-Ab (ab-Ring R) A f) preserves-mul-transport-ring-structure-iso-Ab {x} {y} = ap map-f ( ap-mul-Ring R ( inv (is-retraction-map-inv-iso-Ab (ab-Ring R) A f x)) ( inv (is-retraction-map-inv-iso-Ab (ab-Ring R) A f y))) hom-iso-transport-ring-structure-iso-Ab : hom-Ring R transport-ring-structure-iso-Ab pr1 hom-iso-transport-ring-structure-iso-Ab = hom-iso-Ab (ab-Ring R) A f pr1 (pr2 hom-iso-transport-ring-structure-iso-Ab) = preserves-mul-transport-ring-structure-iso-Ab pr2 (pr2 hom-iso-transport-ring-structure-iso-Ab) = refl is-iso-iso-transport-ring-structure-iso-Ab : is-iso-Ring ( R) ( transport-ring-structure-iso-Ab) ( hom-iso-transport-ring-structure-iso-Ab) is-iso-iso-transport-ring-structure-iso-Ab = is-iso-ring-is-iso-Ab ( R) ( transport-ring-structure-iso-Ab) ( hom-iso-transport-ring-structure-iso-Ab) ( is-iso-iso-Ab (ab-Ring R) A f) iso-transport-ring-structure-iso-Ab : iso-Ring R transport-ring-structure-iso-Ab pr1 (pr1 iso-transport-ring-structure-iso-Ab) = hom-iso-Ab (ab-Ring R) A f pr1 (pr2 (pr1 iso-transport-ring-structure-iso-Ab)) = preserves-mul-transport-ring-structure-iso-Ab pr2 (pr2 (pr1 iso-transport-ring-structure-iso-Ab)) = refl pr2 iso-transport-ring-structure-iso-Ab = is-iso-iso-transport-ring-structure-iso-Ab
Recent changes
- 2023-11-24. Egbert Rijke. Abelianization (#877).
- 2023-10-19. Egbert Rijke. Characteristic subgroups (#863).
- 2023-09-26. Fredrik Bakke and Egbert Rijke. Maps of categories, functor categories, and small subprecategories (#794).
- 2023-09-10. Egbert Rijke and Fredrik Bakke. Cyclic groups (#723).