Unbundled monoid and group homomorphisms #
This file defines predicates for unbundled monoid and group homomorphisms. Though bundled morphisms are preferred in mathlib, these unbundled predicates are still occasionally used in mathlib, and probably will not go away before Lean 4 because Lean 3 often fails to coerce a bundled homomorphism to a function.
Main Definitions #
is_monoid_hom
(deprecated), is_group_hom
(deprecated)
Tags #
is_group_hom, is_monoid_hom
The identity map preserves addition
The identity map preserves multiplication.
The composition of addition preserving maps also preserves addition
The composition of maps which preserve multiplication, also preserves multiplication.
A product of maps which preserve multiplication, preserves multiplication when the target is commutative.
The inverse of a map which preserves multiplication, preserves multiplication when the target is commutative.
- to_is_add_hom : is_add_hom f
- map_zero : f 0 = 0
Predicate for add_monoid homomorphisms (deprecated -- use the bundled monoid_hom
version).
- to_is_mul_hom : is_mul_hom f
- map_one : f 1 = 1
Predicate for monoid homomorphisms (deprecated -- use the bundled monoid_hom
version).
Interpret a map f : M → N
as a homomorphism M →* N
.
Interpret a map f : M → N
as a homomorphism M →+ N
.
A multiplicative isomorphism preserves multiplication (deprecated).
A multiplicative bijection between two monoids is a monoid hom
(deprecated -- use mul_equiv.to_monoid_hom
).
A monoid homomorphism preserves multiplication.
The inverse of a map which preserves multiplication, preserves multiplication when the target is commutative.
A map to a group preserving multiplication is a monoid homomorphism.
The identity map is a monoid homomorphism.
The composite of two monoid homomorphisms is a monoid homomorphism.
Left multiplication in a ring is an additive monoid morphism.
Right multiplication in a ring is an additive monoid morphism.
- to_is_add_hom : is_add_hom f
Predicate for additive group homomorphism (deprecated -- use bundled monoid_hom
).
- to_is_mul_hom : is_mul_hom f
Predicate for group homomorphisms (deprecated -- use bundled monoid_hom
).
Construct is_group_hom
from its only hypothesis.
A group homomorphism is a monoid homomorphism.
A group homomorphism sends 1 to 1.
A group homomorphism sends inverses to inverses.
The identity is a group homomorphism.
The composition of two group homomorphisms is a group homomorphism.
A group homomorphism is injective iff its kernel is trivial.
The product of group homomorphisms is a group homomorphism if the target is commutative.
The inverse of a group homomorphism is a group homomorphism if the target is commutative.
These instances look redundant, because deprecated.ring
provides is_ring_hom
for a →+*
.
Nevertheless these are harmless, and helpful for stripping out dependencies on deprecated.ring
.
Inversion is a group homomorphism if the group is commutative.
Additive group homomorphisms commute with subtraction.
The difference of two additive group homomorphisms is an additive group homomorphism if the target is commutative.
The group homomorphism on units induced by a multiplicative morphism.
Equations
- units.map' hf = units.map (monoid_hom.of hf)