Ordered ring homomorphisms #
Homomorphisms between ordered (semi)rings that respect the ordering.
Main definitions #
OrderRingHom
: Monotone semiring homomorphisms.OrderRingIso
: Monotone semiring isomorphisms.
Notation #
→+*o
: Ordered ring homomorphisms.≃+*o
: Ordered ring isomorphisms.
Implementation notes #
This file used to define typeclasses for order-preserving ring homomorphisms and isomorphisms.
In #10544, we migrated from assumptions like [FunLike F R S] [OrderRingHomClass F R S]
to assumptions like [FunLike F R S] [OrderHomClass F R S] [RingHomClass F R S]
,
making some typeclasses and instances irrelevant.
Tags #
ordered ring homomorphism, order homomorphism
OrderRingHom α β
is the type of monotone semiring homomorphisms from α
to β
.
When possible, instead of parametrizing results over (f : OrderRingHom α β)
,
you should parametrize over (F : Type*) [OrderRingHomClass F α β] (f : F)
.
When you extend this structure, make sure to extend OrderRingHomClass
.
- toFun : α → β
- map_one' : (↑↑self.toRingHom).toFun 1 = 1
- map_zero' : (↑↑self.toRingHom).toFun 0 = 0
- monotone' : Monotone (↑↑self.toRingHom).toFun
The proposition that the function preserves the order.
Instances For
The proposition that the function preserves the order.
OrderRingHom α β
is the type of monotone semiring homomorphisms from α
to β
.
When possible, instead of parametrizing results over (f : OrderRingHom α β)
,
you should parametrize over (F : Type*) [OrderRingHomClass F α β] (f : F)
.
When you extend this structure, make sure to extend OrderRingHomClass
.
Equations
- «term_→+*o_» = Lean.ParserDescr.trailingNode `term_→+*o_ 25 25 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " →+*o ") (Lean.ParserDescr.cat `term 26))
Instances For
OrderRingHom α β
is the type of order-preserving semiring isomorphisms between α
and β
.
When possible, instead of parametrizing results over (f : OrderRingIso α β)
,
you should parametrize over (F : Type*) [OrderRingIsoClass F α β] (f : F)
.
When you extend this structure, make sure to extend OrderRingIsoClass
.
- toFun : α → β
- invFun : β → α
- left_inv : Function.LeftInverse self.invFun self.toFun
- right_inv : Function.RightInverse self.invFun self.toFun
The proposition that the function preserves the order bijectively.
Instances For
OrderRingHom α β
is the type of order-preserving semiring isomorphisms between α
and β
.
When possible, instead of parametrizing results over (f : OrderRingIso α β)
,
you should parametrize over (F : Type*) [OrderRingIsoClass F α β] (f : F)
.
When you extend this structure, make sure to extend OrderRingIsoClass
.
Equations
- «term_≃+*o_» = Lean.ParserDescr.trailingNode `term_≃+*o_ 25 25 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≃+*o ") (Lean.ParserDescr.cat `term 26))
Instances For
Turn an element of a type F
satisfying OrderHomClass F α β
and RingHomClass F α β
into an actual OrderRingHom
.
This is declared as the default coercion from F
to α →+*o β
.
Equations
- ↑f = let __src := ↑f; { toRingHom := __src, monotone' := ⋯ }
Instances For
Any type satisfying OrderRingHomClass
can be cast into OrderRingHom
via
OrderRingHomClass.toOrderRingHom
.
Equations
- instCoeTCOrderRingHomOfOrderHomClassOfRingHomClass = { coe := OrderRingHomClass.toOrderRingHom }
Turn an element of a type F
satisfying OrderIsoClass F α β
and RingEquivClass F α β
into an actual OrderRingIso
.
This is declared as the default coercion from F
to α ≃+*o β
.
Equations
- ↑f = let __src := ↑f; { toRingEquiv := __src, map_le_map_iff' := ⋯ }
Instances For
Any type satisfying OrderRingIsoClass
can be cast into OrderRingIso
via
OrderRingIsoClass.toOrderRingIso
.
Equations
- instCoeTCOrderRingIsoOfOrderIsoClassOfRingEquivClass = { coe := OrderRingIsoClass.toOrderRingIso }
Ordered ring homomorphisms #
Reinterpret an ordered ring homomorphism as an ordered additive monoid homomorphism.
Equations
- f.toOrderAddMonoidHom = { toFun := (↑↑f.toRingHom).toFun, map_zero' := ⋯, map_add' := ⋯, monotone' := ⋯ }
Instances For
Reinterpret an ordered ring homomorphism as an order homomorphism.
Equations
- f.toOrderMonoidWithZeroHom = { toFun := (↑↑f.toRingHom).toFun, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯, monotone' := ⋯ }
Instances For
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
Copy of an OrderRingHom
with a new toFun
equal to the old one. Useful to fix definitional
equalities.
Equations
- f.copy f' h = let __src := f.copy f' h; let __src_1 := f.toOrderAddMonoidHom.copy f' h; { toRingHom := __src, monotone' := ⋯ }
Instances For
The identity as an ordered ring homomorphism.
Equations
- OrderRingHom.id α = let __src := RingHom.id α; let __src_1 := OrderHom.id; { toRingHom := __src, monotone' := ⋯ }
Instances For
Equations
- OrderRingHom.instInhabited α = { default := OrderRingHom.id α }
Composition of two OrderRingHom
s as an OrderRingHom
.
Equations
- f.comp g = let __src := f.comp g.toRingHom; let __src_1 := f.toOrderAddMonoidHom.comp g.toOrderAddMonoidHom; { toRingHom := __src, monotone' := ⋯ }
Instances For
Equations
- OrderRingHom.instPreorder = Preorder.lift DFunLike.coe
Equations
- OrderRingHom.instPartialOrder = PartialOrder.lift (fun (f : α →+*o β) => ⇑f) ⋯
Ordered ring isomorphisms #
The identity map as an ordered ring isomorphism.
Equations
- OrderRingIso.refl α = { toRingEquiv := RingEquiv.refl α, map_le_map_iff' := ⋯ }
Instances For
Equations
- OrderRingIso.instInhabited α = { default := OrderRingIso.refl α }
Composition of OrderRingIso
s as an OrderRingIso
.
Equations
- f.trans g = { toRingEquiv := f.trans g.toRingEquiv, map_le_map_iff' := ⋯ }
Instances For
Reinterpret an ordered ring isomorphism as an ordered ring homomorphism.
Equations
- f.toOrderRingHom = { toRingHom := f.toRingHom, monotone' := ⋯ }
Instances For
Uniqueness #
There is at most one ordered ring homomorphism from a linear ordered field to an archimedean linear ordered field. Reciprocally, such an ordered ring homomorphism exists when the codomain is further conditionally complete.
There is at most one ordered ring homomorphism from a linear ordered field to an archimedean linear ordered field.
Equations
- ⋯ = ⋯
There is at most one ordered ring isomorphism between a linear ordered field and an archimedean linear ordered field.
Equations
- ⋯ = ⋯
There is at most one ordered ring isomorphism between an archimedean linear ordered field and a linear ordered field.
Equations
- ⋯ = ⋯