Ordered ring homomorphisms #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
Homomorphisms between ordered (semi)rings that respect the ordering.
Main definitions #
order_ring_hom
: Monotone semiring homomorphisms.order_ring_iso
: Monotone semiring isomorphisms.
Notation #
→+*o
: Ordered ring homomorphisms.≃+*o
: Ordered ring isomorphisms.
Tags #
ordered ring homomorphism, order homomorphism
- to_ring_hom : α →+* β
- monotone' : monotone self.to_ring_hom.to_fun
order_ring_hom α β
is the type of monotone semiring homomorphisms from α
to β
.
When possible, instead of parametrizing results over (f : order_ring_hom α β)
,
you should parametrize over (F : Type*) [order_ring_hom_class F α β] (f : F)
.
When you extend this structure, make sure to extend order_ring_hom_class
.
Instances for order_ring_hom
- to_ring_equiv : α ≃+* β
- map_le_map_iff' : ∀ {a b : α}, self.to_ring_equiv.to_fun a ≤ self.to_ring_equiv.to_fun b ↔ a ≤ b
order_ring_hom α β
is the type of order-preserving semiring isomorphisms between α
and β
.
When possible, instead of parametrizing results over (f : order_ring_iso α β)
,
you should parametrize over (F : Type*) [order_ring_iso_class F α β] (f : F)
.
When you extend this structure, make sure to extend order_ring_iso_class
.
Instances for order_ring_iso
- to_ring_hom_class : ring_hom_class F α β
- monotone : ∀ (f : F), monotone ⇑f
order_ring_hom_class F α β
states that F
is a type of ordered semiring homomorphisms.
You should extend this typeclass when you extend order_ring_hom
.
Instances of this typeclass
Instances of other typeclasses for order_ring_hom_class
- order_ring_hom_class.has_sizeof_inst
- to_ring_equiv_class : ring_equiv_class F α β
- map_le_map_iff : ∀ (f : F) {a b : α}, ⇑f a ≤ ⇑f b ↔ a ≤ b
order_ring_iso_class F α β
states that F
is a type of ordered semiring isomorphisms.
You should extend this class when you extend order_ring_iso
.
Instances of this typeclass
Instances of other typeclasses for order_ring_iso_class
- order_ring_iso_class.has_sizeof_inst
Equations
Equations
- order_ring_hom_class.to_order_monoid_with_zero_hom_class = {coe := ring_hom_class.coe order_ring_hom_class.to_ring_hom_class, coe_injective' := _, map_mul := _, map_one := _, map_zero := _, monotone := _}
Equations
Equations
- order_ring_hom.has_coe_t = {coe := λ (f : F), {to_ring_hom := ↑f, monotone' := _}}
Equations
- order_ring_iso.has_coe_t = {coe := λ (f : F), {to_ring_equiv := ↑f, map_le_map_iff' := _}}
Ordered ring homomorphisms #
Reinterpret an ordered ring homomorphism as an ordered additive monoid homomorphism.
Equations
- f.to_order_add_monoid_hom = {to_add_monoid_hom := {to_fun := f.to_ring_hom.to_fun, map_zero' := _, map_add' := _}, monotone' := _}
Reinterpret an ordered ring homomorphism as an order homomorphism.
Equations
- f.to_order_monoid_with_zero_hom = {to_monoid_with_zero_hom := {to_fun := f.to_ring_hom.to_fun, map_zero' := _, map_one' := _, map_mul' := _}, monotone' := _}
Equations
- order_ring_hom.order_ring_hom_class = {to_ring_hom_class := {coe := λ (f : α →+*o β), f.to_ring_hom.to_fun, coe_injective' := _, map_mul := _, map_one := _, map_add := _, map_zero := _}, monotone := _}
Helper instance for when there's too many metavariables to apply fun_like.has_coe_to_fun
directly.
Equations
- order_ring_hom.has_coe_to_fun = {coe := λ (f : α →+*o β), f.to_ring_hom.to_fun}
Copy of a order_ring_hom
with a new to_fun
equal to the old one. Useful to fix definitional
equalities.
The identity as an ordered ring homomorphism.
Equations
- order_ring_hom.id α = {to_ring_hom := {to_fun := (ring_hom.id α).to_fun, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}, monotone' := _}
Equations
- order_ring_hom.inhabited α = {default := order_ring_hom.id α _inst_2}
Composition of two order_ring_hom
s as an order_ring_hom
.
Equations
- f.comp g = {to_ring_hom := {to_fun := (f.to_ring_hom.comp g.to_ring_hom).to_fun, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}, monotone' := _}
Equations
Equations
- order_ring_hom.partial_order = partial_order.lift coe_fn order_ring_hom.partial_order._proof_1
Ordered ring isomorphisms #
Reinterpret an ordered ring isomorphism as an order isomorphism.
Equations
- f.to_order_iso = {to_equiv := f.to_ring_equiv.to_equiv, map_rel_iff' := _}
Equations
- order_ring_iso.order_ring_iso_class = {to_ring_equiv_class := {coe := λ (f : α ≃+*o β), f.to_ring_equiv.to_fun, inv := λ (f : α ≃+*o β), f.to_ring_equiv.inv_fun, left_inv := _, right_inv := _, coe_injective' := _, map_mul := _, map_add := _}, map_le_map_iff := _}
Helper instance for when there's too many metavariables to apply fun_like.has_coe_to_fun
directly.
The identity map as an ordered ring isomorphism.
Equations
- order_ring_iso.refl α = {to_ring_equiv := ring_equiv.refl α _inst_2, map_le_map_iff' := _}
Equations
- order_ring_iso.inhabited α = {default := order_ring_iso.refl α _inst_3}
The inverse of an ordered ring isomorphism as an ordered ring isomorphism.
Equations
- e.symm = {to_ring_equiv := e.to_ring_equiv.symm, map_le_map_iff' := _}
Composition of order_ring_iso
s as an order_ring_iso
.
Equations
- f.trans g = {to_ring_equiv := f.to_ring_equiv.trans g.to_ring_equiv, map_le_map_iff' := _}
Reinterpret an ordered ring isomorphism as an ordered ring homomorphism.
Equations
- f.to_order_ring_hom = {to_ring_hom := f.to_ring_equiv.to_ring_hom, monotone' := _}
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.
There is at most one ordered ring isomorphism between a linear ordered field and an archimedean linear ordered field.
There is at most one ordered ring isomorphism between an archimedean linear ordered field and a linear ordered field.