Module docstring
{"# Ordered monoid and group homomorphisms
This file defines morphisms between (additive) ordered monoids.
Types of morphisms
OrderAddMonoidHom: Ordered additive monoid homomorphisms.OrderMonoidHom: Ordered monoid homomorphisms.OrderMonoidWithZeroHom: Ordered monoid with zero homomorphisms.OrderAddMonoidIso: Ordered additive monoid isomorphisms.OrderMonoidIso: Ordered monoid isomorphisms.
Notation
→+o: Bundled ordered additive monoid homs. Also use for additive group homs.→*o: Bundled ordered monoid homs. Also use for group homs.→*₀o: Bundled ordered monoid with zero homs. Also use for group with zero homs.≃+o: Bundled ordered additive monoid isos. Also use for additive group isos.≃*o: Bundled ordered monoid isos. Also use for group isos.≃*₀o: Bundled ordered monoid with zero isos. Also use for group with zero isos.
Implementation notes
There's a coercion from bundled homs to fun, and the canonical notation is to use the bundled hom as a function via this coercion.
There is no OrderGroupHom -- the idea is that OrderMonoidHom is used.
The constructor for OrderMonoidHom needs a proof of map_one as well as map_mul; a separate
constructor OrderMonoidHom.mk' will construct ordered group homs (i.e. ordered monoid homs
between ordered groups) given only a proof that multiplication is preserved,
Implicit {} brackets are often used instead of type class [] brackets. This is done when the
instances can be inferred because they are implicit arguments to the type OrderMonoidHom. When
they can be inferred from the type it is faster to use this method than to use type class inference.
Removed typeclasses
This file used to define typeclasses for order-preserving (additive) monoid homomorphisms:
OrderAddMonoidHomClass, OrderMonoidHomClass, and OrderMonoidWithZeroHomClass.
In https://github.com/leanprover-community/mathlib4/pull/10544 we migrated from these typeclasses
to assumptions like [FunLike F M N] [MonoidHomClass F M N] [OrderHomClass F M N],
making some definitions and lemmas irrelevant.
Tags
ordered monoid, ordered group, monoid with zero "}