Ordered monoid and group homomorphisms #
This file defines morphisms between (additive) ordered monoids with zero.
Types of morphisms #
OrderMonoidWithZeroHom
: Ordered monoid with zero homomorphisms.
Notation #
→*₀o
: Bundled ordered monoid with zero homs. Also use for group with zero homs.
TODO #
≃*₀o
: Bundled ordered monoid with zero isos. Also use for group with zero isos.
Tags #
monoid with zero
OrderMonoidWithZeroHom α β
is the type of functions α → β
that preserve
the MonoidWithZero
structure.
OrderMonoidWithZeroHom
is also used for group homomorphisms.
When possible, instead of parametrizing results over (f : α →+ β)
,
you should parameterize over
(F : Type*) [FunLike F M N] [MonoidWithZeroHomClass F M N] [OrderHomClass F M N] (f : F)
.
- toFun : α → β
- map_mul' (x y : α) : (↑self.toMonoidWithZeroHom).toFun (x * y) = (↑self.toMonoidWithZeroHom).toFun x * (↑self.toMonoidWithZeroHom).toFun y
- monotone' : Monotone (↑self.toMonoidWithZeroHom).toFun
An
OrderMonoidWithZeroHom
is a monotone function.
Instances For
Infix notation for OrderMonoidWithZeroHom
.
Equations
- «term_→*₀o_» = Lean.ParserDescr.trailingNode `«term_→*₀o_» 25 26 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " →*₀o ") (Lean.ParserDescr.cat `term 25))
Instances For
Turn an element of a type F
satisfying OrderHomClass F α β
and MonoidWithZeroHomClass F α β
into an actual OrderMonoidWithZeroHom
.
This is declared as the default coercion from F
to α →+*₀o β
.
Instances For
Equations
- OrderMonoidWithZeroHom.instFunLike = { coe := fun (f : α →*₀o β) => (↑f.toMonoidWithZeroHom).toFun, coe_injective' := ⋯ }
Reinterpret an ordered monoid with zero homomorphism as an order monoid homomorphism.
Equations
- f.toOrderMonoidHom = { toFun := (↑f.toMonoidWithZeroHom).toFun, map_one' := ⋯, map_mul' := ⋯, monotone' := ⋯ }
Instances For
Copy of an OrderMonoidWithZeroHom
with a new toFun
equal to the old one. Useful to fix
definitional equalities.
Instances For
The identity map as an ordered monoid with zero homomorphism.
Equations
- OrderMonoidWithZeroHom.id α = { toMonoidWithZeroHom := MonoidWithZeroHom.id α, monotone' := ⋯ }
Instances For
Equations
- OrderMonoidWithZeroHom.instInhabited α = { default := OrderMonoidWithZeroHom.id α }
Composition of OrderMonoidWithZeroHom
s as an OrderMonoidWithZeroHom
.
Instances For
For two ordered monoid morphisms f
and g
, their product is the ordered monoid morphism
sending a
to f a * g a
.
Any ordered group is isomorphic to the units of itself adjoined with 0
.
Equations
- OrderMonoidIso.unitsWithZero = { toMulEquiv := WithZero.unitsWithZeroEquiv, map_le_map_iff' := ⋯ }
Instances For
A version of Equiv.optionCongr
for WithZero
on OrderMonoidIso
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Any linearly ordered group with zero is isomorphic to adjoining 0
to the units of itself.
Equations
- OrderMonoidIso.withZeroUnits = { toMulEquiv := WithZero.withZeroUnitsEquiv, map_le_map_iff' := ⋯ }