Homomorphisms of commutative rings
Content created by Fredrik Bakke, Egbert Rijke, Jonathan Prieto-Cubides and Gregor Perčič.
Created on 2022-04-22.
Last modified on 2024-03-11.
module commutative-algebra.homomorphisms-commutative-rings where
Imports
open import commutative-algebra.commutative-rings open import commutative-algebra.homomorphisms-commutative-semirings open import commutative-algebra.invertible-elements-commutative-rings open import foundation.equivalences open import foundation.identity-types open import foundation.propositions open import foundation.sets open import foundation.torsorial-type-families open import foundation.universe-levels open import group-theory.homomorphisms-abelian-groups open import group-theory.homomorphisms-monoids open import ring-theory.homomorphisms-rings
Idea
A homomorphism of commutative rings is a homomorphism between their underlying rings.
Definition
The predicate of being a ring homomorphism
module _ {l1 l2 : Level} (A : Commutative-Ring l1) (B : Commutative-Ring l2) where is-commutative-ring-homomorphism-hom-Ab-Prop : hom-Ab (ab-Commutative-Ring A) (ab-Commutative-Ring B) → Prop (l1 ⊔ l2) is-commutative-ring-homomorphism-hom-Ab-Prop = is-ring-homomorphism-hom-Ab-Prop ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) is-commutative-ring-homomorphism-hom-Ab : hom-Ab (ab-Commutative-Ring A) (ab-Commutative-Ring B) → UU (l1 ⊔ l2) is-commutative-ring-homomorphism-hom-Ab = is-ring-homomorphism-hom-Ab ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) is-prop-is-commutative-ring-homomorphism-hom-Ab : (f : hom-Ab (ab-Commutative-Ring A) (ab-Commutative-Ring B)) → is-prop (is-commutative-ring-homomorphism-hom-Ab f) is-prop-is-commutative-ring-homomorphism-hom-Ab = is-prop-is-ring-homomorphism-hom-Ab ( ring-Commutative-Ring A) ( ring-Commutative-Ring B)
module _ {l1 l2 : Level} (A : Commutative-Ring l1) (B : Commutative-Ring l2) where hom-set-Commutative-Ring : Set (l1 ⊔ l2) hom-set-Commutative-Ring = hom-set-Ring (ring-Commutative-Ring A) (ring-Commutative-Ring B) hom-Commutative-Ring : UU (l1 ⊔ l2) hom-Commutative-Ring = hom-Ring (ring-Commutative-Ring A) (ring-Commutative-Ring B) is-set-hom-Commutative-Ring : is-set hom-Commutative-Ring is-set-hom-Commutative-Ring = is-set-hom-Ring (ring-Commutative-Ring A) (ring-Commutative-Ring B) module _ (f : hom-Commutative-Ring) where hom-ab-hom-Commutative-Ring : hom-Ab (ab-Commutative-Ring A) (ab-Commutative-Ring B) hom-ab-hom-Commutative-Ring = hom-ab-hom-Ring (ring-Commutative-Ring A) (ring-Commutative-Ring B) f hom-multiplicative-monoid-hom-Commutative-Ring : hom-Monoid ( multiplicative-monoid-Commutative-Ring A) ( multiplicative-monoid-Commutative-Ring B) hom-multiplicative-monoid-hom-Commutative-Ring = hom-multiplicative-monoid-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) map-hom-Commutative-Ring : type-Commutative-Ring A → type-Commutative-Ring B map-hom-Commutative-Ring = map-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) preserves-add-hom-Commutative-Ring : preserves-add-Ab ( ab-Commutative-Ring A) ( ab-Commutative-Ring B) ( map-hom-Commutative-Ring) preserves-add-hom-Commutative-Ring = preserves-add-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) preserves-zero-hom-Commutative-Ring : preserves-zero-Ab ( ab-Commutative-Ring A) ( ab-Commutative-Ring B) ( map-hom-Commutative-Ring) preserves-zero-hom-Commutative-Ring = preserves-zero-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) preserves-neg-hom-Commutative-Ring : preserves-negatives-Ab ( ab-Commutative-Ring A) ( ab-Commutative-Ring B) ( map-hom-Commutative-Ring) preserves-neg-hom-Commutative-Ring = preserves-neg-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) preserves-mul-hom-Commutative-Ring : preserves-mul-hom-Ab ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( hom-ab-hom-Commutative-Ring) preserves-mul-hom-Commutative-Ring = preserves-mul-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) preserves-one-hom-Commutative-Ring : preserves-unit-hom-Ab ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( hom-ab-hom-Commutative-Ring) preserves-one-hom-Commutative-Ring = preserves-one-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) is-commutative-ring-homomorphism-hom-Commutative-Ring : is-commutative-ring-homomorphism-hom-Ab A B hom-ab-hom-Commutative-Ring is-commutative-ring-homomorphism-hom-Commutative-Ring = is-ring-homomorphism-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) hom-commutative-semiring-hom-Commutative-Ring : hom-Commutative-Semiring ( commutative-semiring-Commutative-Ring A) ( commutative-semiring-Commutative-Ring B) hom-commutative-semiring-hom-Commutative-Ring = hom-semiring-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f)
The identity homomorphism of commutative rings
module _ {l : Level} (A : Commutative-Ring l) where preserves-mul-id-hom-Commutative-Ring : preserves-mul-hom-Ab ( ring-Commutative-Ring A) ( ring-Commutative-Ring A) ( id-hom-Ab (ab-Commutative-Ring A)) preserves-mul-id-hom-Commutative-Ring = preserves-mul-id-hom-Ring (ring-Commutative-Ring A) preserves-unit-id-hom-Commutative-Ring : preserves-unit-hom-Ab ( ring-Commutative-Ring A) ( ring-Commutative-Ring A) ( id-hom-Ab (ab-Commutative-Ring A)) preserves-unit-id-hom-Commutative-Ring = preserves-unit-id-hom-Ring (ring-Commutative-Ring A) is-ring-homomorphism-id-hom-Commutative-Ring : is-ring-homomorphism-hom-Ab ( ring-Commutative-Ring A) ( ring-Commutative-Ring A) ( id-hom-Ab (ab-Commutative-Ring A)) is-ring-homomorphism-id-hom-Commutative-Ring = is-ring-homomorphism-id-hom-Ring (ring-Commutative-Ring A) id-hom-Commutative-Ring : hom-Commutative-Ring A A id-hom-Commutative-Ring = id-hom-Ring (ring-Commutative-Ring A)
Composition of commutative ring homomorphisms
module _ {l1 l2 l3 : Level} (A : Commutative-Ring l1) (B : Commutative-Ring l2) (C : Commutative-Ring l3) (g : hom-Commutative-Ring B C) (f : hom-Commutative-Ring A B) where hom-ab-comp-hom-Commutative-Ring : hom-Ab (ab-Commutative-Ring A) (ab-Commutative-Ring C) hom-ab-comp-hom-Commutative-Ring = hom-ab-comp-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( ring-Commutative-Ring C) ( g) ( f) hom-multiplicative-monoid-comp-hom-Commutative-Ring : hom-Monoid ( multiplicative-monoid-Commutative-Ring A) ( multiplicative-monoid-Commutative-Ring C) hom-multiplicative-monoid-comp-hom-Commutative-Ring = hom-multiplicative-monoid-comp-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( ring-Commutative-Ring C) ( g) ( f) preserves-mul-comp-hom-Commutative-Ring : preserves-mul-hom-Ab ( ring-Commutative-Ring A) ( ring-Commutative-Ring C) ( hom-ab-comp-hom-Commutative-Ring) preserves-mul-comp-hom-Commutative-Ring = preserves-mul-comp-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( ring-Commutative-Ring C) ( g) ( f) preserves-unit-comp-hom-Commutative-Ring : preserves-unit-hom-Ab ( ring-Commutative-Ring A) ( ring-Commutative-Ring C) ( hom-ab-comp-hom-Commutative-Ring) preserves-unit-comp-hom-Commutative-Ring = preserves-unit-comp-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( ring-Commutative-Ring C) ( g) ( f) is-commutative-ring-homomorphism-comp-hom-Commutative-Ring : is-commutative-ring-homomorphism-hom-Ab A C ( hom-ab-comp-hom-Commutative-Ring) is-commutative-ring-homomorphism-comp-hom-Commutative-Ring = is-ring-homomorphism-comp-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( ring-Commutative-Ring C) ( g) ( f) comp-hom-Commutative-Ring : hom-Commutative-Ring A C comp-hom-Commutative-Ring = comp-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( ring-Commutative-Ring C) ( g) ( f)
Homotopies of homomorphisms of commutative rings
module _ {l1 l2 : Level} (A : Commutative-Ring l1) (B : Commutative-Ring l2) where htpy-hom-Commutative-Ring : hom-Commutative-Ring A B → hom-Commutative-Ring A B → UU (l1 ⊔ l2) htpy-hom-Commutative-Ring = htpy-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) refl-htpy-hom-Commutative-Ring : (f : hom-Commutative-Ring A B) → htpy-hom-Commutative-Ring f f refl-htpy-hom-Commutative-Ring = refl-htpy-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B)
Properties
Homotopies characterize identifications of homomorphisms of commutative rings
module _ {l1 l2 : Level} (A : Commutative-Ring l1) (B : Commutative-Ring l2) (f : hom-Commutative-Ring A B) where htpy-eq-hom-Commutative-Ring : (g : hom-Commutative-Ring A B) → (f = g) → htpy-hom-Commutative-Ring A B f g htpy-eq-hom-Commutative-Ring = htpy-eq-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) is-torsorial-htpy-hom-Commutative-Ring : is-torsorial (htpy-hom-Commutative-Ring A B f) is-torsorial-htpy-hom-Commutative-Ring = is-torsorial-htpy-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) is-equiv-htpy-eq-hom-Commutative-Ring : (g : hom-Commutative-Ring A B) → is-equiv (htpy-eq-hom-Commutative-Ring g) is-equiv-htpy-eq-hom-Commutative-Ring = is-equiv-htpy-eq-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) extensionality-hom-Commutative-Ring : (g : hom-Commutative-Ring A B) → (f = g) ≃ htpy-hom-Commutative-Ring A B f g extensionality-hom-Commutative-Ring = extensionality-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) eq-htpy-hom-Commutative-Ring : (g : hom-Commutative-Ring A B) → htpy-hom-Commutative-Ring A B f g → f = g eq-htpy-hom-Commutative-Ring = eq-htpy-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f)
Associativity of composition of ring homomorphisms
module _ {l1 l2 l3 l4 : Level} (A : Commutative-Ring l1) (B : Commutative-Ring l2) (C : Commutative-Ring l3) (D : Commutative-Ring l4) (h : hom-Commutative-Ring C D) (g : hom-Commutative-Ring B C) (f : hom-Commutative-Ring A B) where associative-comp-hom-Commutative-Ring : comp-hom-Commutative-Ring A B D (comp-hom-Commutative-Ring B C D h g) f = comp-hom-Commutative-Ring A C D h (comp-hom-Commutative-Ring A B C g f) associative-comp-hom-Commutative-Ring = associative-comp-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( ring-Commutative-Ring C) ( ring-Commutative-Ring D) ( h) ( g) ( f)
Unit laws for composition of homomorphisms of commutative rings
module _ {l1 l2 : Level} (A : Commutative-Ring l1) (B : Commutative-Ring l2) (f : hom-Commutative-Ring A B) where left-unit-law-comp-hom-Commutative-Ring : comp-hom-Commutative-Ring A B B (id-hom-Commutative-Ring B) f = f left-unit-law-comp-hom-Commutative-Ring = left-unit-law-comp-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f) right-unit-law-comp-hom-Commutative-Ring : comp-hom-Commutative-Ring A A B f (id-hom-Commutative-Ring A) = f right-unit-law-comp-hom-Commutative-Ring = right-unit-law-comp-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring B) ( f)
Any homomorphism of commutative rings sends invertible elements to invertible elements
module _ {l1 l2 : Level} (A : Commutative-Ring l1) (S : Commutative-Ring l2) (f : hom-Commutative-Ring A S) where preserves-invertible-elements-hom-Commutative-Ring : {x : type-Commutative-Ring A} → is-invertible-element-Commutative-Ring A x → is-invertible-element-Commutative-Ring S (map-hom-Commutative-Ring A S f x) preserves-invertible-elements-hom-Commutative-Ring = preserves-invertible-elements-hom-Ring ( ring-Commutative-Ring A) ( ring-Commutative-Ring S) ( f)
Recent changes
- 2024-03-11. Fredrik Bakke. Refactor category theory to use strictly involutive identity types (#1052).
- 2023-11-27. Fredrik Bakke. Refactor categories to carry a bidirectional witness of associativity (#945).
- 2023-11-24. Egbert Rijke. Refactor precomposition (#937).
- 2023-10-21. Egbert Rijke and Fredrik Bakke. Implement
is-torsorial
throughout the library (#875). - 2023-10-21. Egbert Rijke. Rename
is-contr-total
tois-torsorial
(#871).