Unitality of a multiplicative map #
A multiplicative map need not preserve 1, and the zero map shows it need not. Where
multiplication in the codomain is left-cancellative away from zero there is nothing in between:
such a map is identically zero or unital, the zero map being the only non-unital one. A unital
one is promoted to a bundled unital map by AlgHom.ofLinearMap or RingHom.mk'.
This is the dichotomy that lets a type of multiplicative maps carry a zero without adjoining one.
Main results #
MulHomClass.forall_apply_eq_zero_or_map_one: such a map vanishes identically or sends1to1.
Implementation notes #
The statement is class-general, over MulHomClass, so it holds of every bundled multiplicative
map type — MonoidHom, RingHom, NonUnitalAlgHom — without a specialisation for each. Its
vanishing alternative is pointwise, ∀ x, p x = 0, rather than p = 0, because the class
carries no Zero on the map type.
A multiplicative map vanishes identically or is unital.
A multiplicative map that is somewhere nonzero is unital.