algebra.order.hom.ring
⟷
Mathlib.Algebra.Order.Hom.Ring
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
wlog
(#16495)
Benefits:
Downside:
Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/wlog/near/296996966
Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@@ -325,9 +325,9 @@ instance order_ring_hom.subsingleton [linear_ordered_field α] [linear_ordered_f
subsingleton (α →+*o β) :=
⟨λ f g, begin
ext x,
- by_contra' h,
- wlog h : f x < g x using [f g, g f],
- { exact ne.lt_or_lt h },
+ by_contra' h' : f x ≠ g x,
+ wlog h : f x < g x,
+ { exact this g f x (ne.symm h') (h'.lt_or_lt.resolve_left h), },
obtain ⟨q, hf, hg⟩ := exists_rat_btwn h,
rw ←map_rat_cast f at hf,
rw ←map_rat_cast g at hg,
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(first ported)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -626,8 +626,8 @@ instance OrderRingHom.subsingleton [LinearOrderedField α] [LinearOrderedField
wlog h : f x < g x
· exact this g f x (Ne.symm h') (h'.lt_or_lt.resolve_left h)
obtain ⟨q, hf, hg⟩ := exists_rat_btwn h
- rw [← map_ratCast f] at hf
- rw [← map_ratCast g] at hg
+ rw [← map_ratCast f] at hf
+ rw [← map_ratCast g] at hg
exact
(lt_asymm ((OrderHomClass.mono g).reflect_lt hg) <|
(OrderHomClass.mono f).reflect_lt hf).elim⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -73,57 +73,45 @@ structure OrderRingIso (α β : Type _) [Mul α] [Add α] [LE α] [Mul β] [Add
infixl:25 " ≃+*o " => OrderRingIso
-#print OrderRingHomClass /-
/-- `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`. -/
class OrderRingHomClass (F : Type _) (α β : outParam <| Type _) [NonAssocSemiring α] [Preorder α]
[NonAssocSemiring β] [Preorder β] extends RingHomClass F α β where
Monotone (f : F) : Monotone f
#align order_ring_hom_class OrderRingHomClass
--/
-#print OrderRingIsoClass /-
/-- `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`. -/
class OrderRingIsoClass (F : Type _) (α β : outParam (Type _)) [Mul α] [Add α] [LE α] [Mul β]
[Add β] [LE β] extends RingEquivClass F α β where
map_le_map_iff (f : F) {a b : α} : f a ≤ f b ↔ a ≤ b
#align order_ring_iso_class OrderRingIsoClass
--/
-#print OrderRingHomClass.toOrderAddMonoidHomClass /-
-- See note [lower priority instance]
instance (priority := 100) OrderRingHomClass.toOrderAddMonoidHomClass [NonAssocSemiring α]
[Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingHomClass F α β] :
OrderAddMonoidHomClass F α β :=
{ ‹OrderRingHomClass F α β› with }
#align order_ring_hom_class.to_order_add_monoid_hom_class OrderRingHomClass.toOrderAddMonoidHomClass
--/
-#print OrderRingHomClass.toOrderMonoidWithZeroHomClass /-
-- See note [lower priority instance]
instance (priority := 100) OrderRingHomClass.toOrderMonoidWithZeroHomClass [NonAssocSemiring α]
[Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingHomClass F α β] :
OrderMonoidWithZeroHomClass F α β :=
{ ‹OrderRingHomClass F α β› with }
#align order_ring_hom_class.to_order_monoid_with_zero_hom_class OrderRingHomClass.toOrderMonoidWithZeroHomClass
--/
-#print OrderRingIsoClass.toOrderIsoClass /-
-- See note [lower instance priority]
instance (priority := 100) OrderRingIsoClass.toOrderIsoClass [Mul α] [Add α] [LE α] [Mul β] [Add β]
[LE β] [OrderRingIsoClass F α β] : OrderIsoClass F α β :=
{ ‹OrderRingIsoClass F α β› with }
#align order_ring_iso_class.to_order_iso_class OrderRingIsoClass.toOrderIsoClass
--/
-#print OrderRingIsoClass.toOrderRingHomClass /-
-- See note [lower instance priority]
instance (priority := 100) OrderRingIsoClass.toOrderRingHomClass [NonAssocSemiring α] [Preorder α]
[NonAssocSemiring β] [Preorder β] [OrderRingIsoClass F α β] : OrderRingHomClass F α β :=
{ ‹OrderRingIsoClass F α β› with Monotone := fun f => OrderHomClass.mono f }
#align order_ring_iso_class.to_order_ring_hom_class OrderRingIsoClass.toOrderRingHomClass
--/
instance [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β]
[OrderRingHomClass F α β] : CoeTC F (α →+*o β) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -183,7 +183,7 @@ theorem toFun_eq_coe (f : α →+*o β) : f.toFun = ⇑f :=
#print OrderRingHom.ext /-
@[ext]
theorem ext {f g : α →+*o β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align order_ring_hom.ext OrderRingHom.ext
-/
@@ -269,7 +269,7 @@ theorem coe_copy (f : α →+*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f
#print OrderRingHom.copy_eq /-
theorem copy_eq (f : α →+*o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align order_ring_hom.copy_eq OrderRingHom.copy_eq
-/
@@ -368,7 +368,7 @@ theorem id_comp (f : α →+*o β) : (OrderRingHom.id β).comp f = f :=
#print OrderRingHom.cancel_right /-
theorem cancel_right {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Surjective g) :
f₁.comp g = f₂.comp g ↔ f₁ = f₂ :=
- ⟨fun h => ext <| hg.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
+ ⟨fun h => ext <| hg.forall.2 <| DFunLike.ext_iff.1 h, congr_arg _⟩
#align order_ring_hom.cancel_right OrderRingHom.cancel_right
-/
@@ -387,7 +387,7 @@ instance [Preorder β] : Preorder (OrderRingHom α β) :=
Preorder.lift (coeFn : _ → α → β)
instance [PartialOrder β] : PartialOrder (OrderRingHom α β) :=
- PartialOrder.lift _ FunLike.coe_injective
+ PartialOrder.lift _ DFunLike.coe_injective
end OrderRingHom
@@ -421,7 +421,7 @@ instance : OrderRingIsoClass (α ≃+*o β) α β
/-- Helper instance for when there's too many metavariables to apply `fun_like.has_coe_to_fun`
directly. -/
instance : CoeFun (α ≃+*o β) fun _ => α → β :=
- FunLike.hasCoeToFun
+ DFunLike.hasCoeToFun
#print OrderRingIso.toFun_eq_coe /-
theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
@@ -432,7 +432,7 @@ theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
#print OrderRingIso.ext /-
@[ext]
theorem ext {f g : α ≃+*o β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align order_ring_iso.ext OrderRingIso.ext
-/
@@ -610,7 +610,7 @@ theorem coe_toOrderRingHom_refl : (OrderRingIso.refl α : α →+*o α) = OrderR
#print OrderRingIso.toOrderRingHom_injective /-
theorem toOrderRingHom_injective : Injective (toOrderRingHom : α ≃+*o β → α →+*o β) := fun f g h =>
- FunLike.coe_injective <| by convert FunLike.ext'_iff.1 h
+ DFunLike.coe_injective <| by convert DFunLike.ext'_iff.1 h
#align order_ring_iso.to_order_ring_hom_injective OrderRingIso.toOrderRingHom_injective
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -634,7 +634,7 @@ instance OrderRingHom.subsingleton [LinearOrderedField α] [LinearOrderedField
Subsingleton (α →+*o β) :=
⟨fun f g => by
ext x
- by_contra' h' : f x ≠ g x
+ by_contra! h' : f x ≠ g x
wlog h : f x < g x
· exact this g f x (Ne.symm h') (h'.lt_or_lt.resolve_left h)
obtain ⟨q, hf, hg⟩ := exists_rat_btwn h
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,12 +3,12 @@ Copyright (c) 2022 Alex J. Best, Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Alex J. Best, Yaël Dillies
-/
-import Mathbin.Algebra.Order.Archimedean
-import Mathbin.Algebra.Order.Hom.Monoid
-import Mathbin.Algebra.Order.Ring.Defs
-import Mathbin.Algebra.Ring.Equiv
-import Mathbin.Tactic.ByContra
-import Mathbin.Tactic.Wlog
+import Algebra.Order.Archimedean
+import Algebra.Order.Hom.Monoid
+import Algebra.Order.Ring.Defs
+import Algebra.Ring.Equiv
+import Tactic.ByContra
+import Tactic.Wlog
#align_import algebra.order.hom.ring from "leanprover-community/mathlib"@"ee05e9ce1322178f0c12004eb93c00d2c8c00ed2"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -163,7 +163,7 @@ instance : OrderRingHomClass (α →+*o β) α β
where
coe f := f.toFun
coe_injective' f g h := by obtain ⟨⟨_, _⟩, _⟩ := f <;> obtain ⟨⟨_, _⟩, _⟩ := g <;> congr
- map_mul f := f.map_mul'
+ map_hMul f := f.map_mul'
map_one f := f.map_one'
map_add f := f.map_add'
map_zero f := f.map_zero'
@@ -413,7 +413,7 @@ instance : OrderRingIsoClass (α ≃+*o β) α β
inv f := f.invFun
coe_injective' f g h₁ h₂ := by obtain ⟨⟨_, _⟩, _⟩ := f; obtain ⟨⟨_, _⟩, _⟩ := g; congr
map_add f := f.map_add'
- map_mul f := f.map_mul'
+ map_hMul f := f.map_mul'
map_le_map_iff f _ _ := f.map_le_map_iff'
left_inv f := f.left_inv
right_inv f := f.right_inv
mathlib commit https://github.com/leanprover-community/mathlib/commit/63721b2c3eba6c325ecf8ae8cca27155a4f6306f
@@ -301,26 +301,26 @@ theorem id_apply (a : α) : OrderRingHom.id α a = a :=
#align order_ring_hom.id_apply OrderRingHom.id_apply
-/
-#print OrderRingHom.coe_RingHom_id /-
+#print OrderRingHom.coe_ringHom_id /-
@[simp]
-theorem coe_RingHom_id : (OrderRingHom.id α : α →+* α) = RingHom.id α :=
+theorem coe_ringHom_id : (OrderRingHom.id α : α →+* α) = RingHom.id α :=
rfl
-#align order_ring_hom.coe_ring_hom_id OrderRingHom.coe_RingHom_id
+#align order_ring_hom.coe_ring_hom_id OrderRingHom.coe_ringHom_id
-/
-#print OrderRingHom.coe_OrderAddMonoidHom_id /-
+#print OrderRingHom.coe_orderAddMonoidHom_id /-
@[simp]
-theorem coe_OrderAddMonoidHom_id : (OrderRingHom.id α : α →+o α) = OrderAddMonoidHom.id α :=
+theorem coe_orderAddMonoidHom_id : (OrderRingHom.id α : α →+o α) = OrderAddMonoidHom.id α :=
rfl
-#align order_ring_hom.coe_order_add_monoid_hom_id OrderRingHom.coe_OrderAddMonoidHom_id
+#align order_ring_hom.coe_order_add_monoid_hom_id OrderRingHom.coe_orderAddMonoidHom_id
-/
-#print OrderRingHom.coe_OrderMonoidWithZeroHom_id /-
+#print OrderRingHom.coe_orderMonoidWithZeroHom_id /-
@[simp]
-theorem coe_OrderMonoidWithZeroHom_id :
+theorem coe_orderMonoidWithZeroHom_id :
(OrderRingHom.id α : α →*₀o α) = OrderMonoidWithZeroHom.id α :=
rfl
-#align order_ring_hom.coe_order_monoid_with_zero_hom_id OrderRingHom.coe_OrderMonoidWithZeroHom_id
+#align order_ring_hom.coe_order_monoid_with_zero_hom_id OrderRingHom.coe_orderMonoidWithZeroHom_id
-/
#print OrderRingHom.comp /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,11 +2,6 @@
Copyright (c) 2022 Alex J. Best, Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Alex J. Best, Yaël Dillies
-
-! This file was ported from Lean 3 source module algebra.order.hom.ring
-! leanprover-community/mathlib commit ee05e9ce1322178f0c12004eb93c00d2c8c00ed2
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Order.Archimedean
import Mathbin.Algebra.Order.Hom.Monoid
@@ -15,6 +10,8 @@ import Mathbin.Algebra.Ring.Equiv
import Mathbin.Tactic.ByContra
import Mathbin.Tactic.Wlog
+#align_import algebra.order.hom.ring from "leanprover-community/mathlib"@"ee05e9ce1322178f0c12004eb93c00d2c8c00ed2"
+
/-!
# Ordered ring homomorphisms
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -59,9 +59,9 @@ structure OrderRingHom (α β : Type _) [NonAssocSemiring α] [Preorder α] [Non
/-- Reinterpret an ordered ring homomorphism as a ring homomorphism. -/
add_decl_doc OrderRingHom.toRingHom
--- mathport name: «expr →+*o »
infixl:25 " →+*o " => OrderRingHom
+#print OrderRingIso /-
/-- `order_ring_hom α β` is the type of order-preserving semiring isomorphisms between `α` and `β`.
When possible, instead of parametrizing results over `(f : order_ring_iso α β)`,
@@ -72,8 +72,8 @@ structure OrderRingIso (α β : Type _) [Mul α] [Add α] [LE α] [Mul β] [Add
α ≃+* β where
map_le_map_iff' {a b : α} : to_fun a ≤ to_fun b ↔ a ≤ b
#align order_ring_iso OrderRingIso
+-/
--- mathport name: «expr ≃+*o »
infixl:25 " ≃+*o " => OrderRingIso
#print OrderRingHomClass /-
@@ -120,11 +120,13 @@ instance (priority := 100) OrderRingIsoClass.toOrderIsoClass [Mul α] [Add α] [
#align order_ring_iso_class.to_order_iso_class OrderRingIsoClass.toOrderIsoClass
-/
+#print OrderRingIsoClass.toOrderRingHomClass /-
-- See note [lower instance priority]
instance (priority := 100) OrderRingIsoClass.toOrderRingHomClass [NonAssocSemiring α] [Preorder α]
[NonAssocSemiring β] [Preorder β] [OrderRingIsoClass F α β] : OrderRingHomClass F α β :=
{ ‹OrderRingIsoClass F α β› with Monotone := fun f => OrderHomClass.mono f }
#align order_ring_iso_class.to_order_ring_hom_class OrderRingIsoClass.toOrderRingHomClass
+-/
instance [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β]
[OrderRingHomClass F α β] : CoeTC F (α →+*o β) :=
@@ -175,76 +177,104 @@ directly. -/
instance : CoeFun (α →+*o β) fun _ => α → β :=
⟨fun f => f.toFun⟩
+#print OrderRingHom.toFun_eq_coe /-
theorem toFun_eq_coe (f : α →+*o β) : f.toFun = ⇑f :=
rfl
#align order_ring_hom.to_fun_eq_coe OrderRingHom.toFun_eq_coe
+-/
+#print OrderRingHom.ext /-
@[ext]
theorem ext {f g : α →+*o β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align order_ring_hom.ext OrderRingHom.ext
+-/
+#print OrderRingHom.toRingHom_eq_coe /-
@[simp]
theorem toRingHom_eq_coe (f : α →+*o β) : f.toRingHom = f :=
RingHom.ext fun _ => rfl
#align order_ring_hom.to_ring_hom_eq_coe OrderRingHom.toRingHom_eq_coe
+-/
+#print OrderRingHom.toOrderAddMonoidHom_eq_coe /-
@[simp]
theorem toOrderAddMonoidHom_eq_coe (f : α →+*o β) : f.toOrderAddMonoidHom = f :=
rfl
#align order_ring_hom.to_order_add_monoid_hom_eq_coe OrderRingHom.toOrderAddMonoidHom_eq_coe
+-/
/- warning: order_ring_hom.to_order_monoid_with_zero_hom_eq_coe clashes with order_ring_hom.to_order_monoid_with_zero_hom -> OrderRingHom.toOrderMonoidWithZeroHom
Case conversion may be inaccurate. Consider using '#align order_ring_hom.to_order_monoid_with_zero_hom_eq_coe OrderRingHom.toOrderMonoidWithZeroHomₓ'. -/
+#print OrderRingHom.toOrderMonoidWithZeroHom /-
@[simp]
theorem toOrderMonoidWithZeroHom (f : α →+*o β) : f.toOrderMonoidWithZeroHom = f :=
rfl
#align order_ring_hom.to_order_monoid_with_zero_hom_eq_coe OrderRingHom.toOrderMonoidWithZeroHom
+-/
+#print OrderRingHom.coe_coe_ringHom /-
@[simp]
theorem coe_coe_ringHom (f : α →+*o β) : ⇑(f : α →+* β) = f :=
rfl
#align order_ring_hom.coe_coe_ring_hom OrderRingHom.coe_coe_ringHom
+-/
+#print OrderRingHom.coe_coe_orderAddMonoidHom /-
@[simp]
theorem coe_coe_orderAddMonoidHom (f : α →+*o β) : ⇑(f : α →+o β) = f :=
rfl
#align order_ring_hom.coe_coe_order_add_monoid_hom OrderRingHom.coe_coe_orderAddMonoidHom
+-/
+#print OrderRingHom.coe_coe_orderMonoidWithZeroHom /-
@[simp]
theorem coe_coe_orderMonoidWithZeroHom (f : α →+*o β) : ⇑(f : α →*₀o β) = f :=
rfl
#align order_ring_hom.coe_coe_order_monoid_with_zero_hom OrderRingHom.coe_coe_orderMonoidWithZeroHom
+-/
+#print OrderRingHom.coe_ringHom_apply /-
@[norm_cast]
theorem coe_ringHom_apply (f : α →+*o β) (a : α) : (f : α →+* β) a = f a :=
rfl
#align order_ring_hom.coe_ring_hom_apply OrderRingHom.coe_ringHom_apply
+-/
+#print OrderRingHom.coe_orderAddMonoidHom_apply /-
@[norm_cast]
theorem coe_orderAddMonoidHom_apply (f : α →+*o β) (a : α) : (f : α →+o β) a = f a :=
rfl
#align order_ring_hom.coe_order_add_monoid_hom_apply OrderRingHom.coe_orderAddMonoidHom_apply
+-/
+#print OrderRingHom.coe_orderMonoidWithZeroHom_apply /-
@[norm_cast]
theorem coe_orderMonoidWithZeroHom_apply (f : α →+*o β) (a : α) : (f : α →*₀o β) a = f a :=
rfl
#align order_ring_hom.coe_order_monoid_with_zero_hom_apply OrderRingHom.coe_orderMonoidWithZeroHom_apply
+-/
+#print OrderRingHom.copy /-
/-- Copy of a `order_ring_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : α →+*o β) (f' : α → β) (h : f' = f) : α →+*o β :=
{ f.toRingHom.copy f' h, f.toOrderAddMonoidHom.copy f' h with }
#align order_ring_hom.copy OrderRingHom.copy
+-/
+#print OrderRingHom.coe_copy /-
@[simp]
theorem coe_copy (f : α →+*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align order_ring_hom.coe_copy OrderRingHom.coe_copy
+-/
+#print OrderRingHom.copy_eq /-
theorem copy_eq (f : α →+*o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align order_ring_hom.copy_eq OrderRingHom.copy_eq
+-/
variable (α)
@@ -258,33 +288,43 @@ protected def id : α →+*o α :=
instance : Inhabited (α →+*o α) :=
⟨OrderRingHom.id α⟩
+#print OrderRingHom.coe_id /-
@[simp]
theorem coe_id : ⇑(OrderRingHom.id α) = id :=
rfl
#align order_ring_hom.coe_id OrderRingHom.coe_id
+-/
variable {α}
+#print OrderRingHom.id_apply /-
@[simp]
theorem id_apply (a : α) : OrderRingHom.id α a = a :=
rfl
#align order_ring_hom.id_apply OrderRingHom.id_apply
+-/
+#print OrderRingHom.coe_RingHom_id /-
@[simp]
theorem coe_RingHom_id : (OrderRingHom.id α : α →+* α) = RingHom.id α :=
rfl
#align order_ring_hom.coe_ring_hom_id OrderRingHom.coe_RingHom_id
+-/
+#print OrderRingHom.coe_OrderAddMonoidHom_id /-
@[simp]
theorem coe_OrderAddMonoidHom_id : (OrderRingHom.id α : α →+o α) = OrderAddMonoidHom.id α :=
rfl
#align order_ring_hom.coe_order_add_monoid_hom_id OrderRingHom.coe_OrderAddMonoidHom_id
+-/
+#print OrderRingHom.coe_OrderMonoidWithZeroHom_id /-
@[simp]
theorem coe_OrderMonoidWithZeroHom_id :
(OrderRingHom.id α : α →*₀o α) = OrderMonoidWithZeroHom.id α :=
rfl
#align order_ring_hom.coe_order_monoid_with_zero_hom_id OrderRingHom.coe_OrderMonoidWithZeroHom_id
+-/
#print OrderRingHom.comp /-
/-- Composition of two `order_ring_hom`s as an `order_ring_hom`. -/
@@ -293,40 +333,54 @@ protected def comp (f : β →+*o γ) (g : α →+*o β) : α →+*o γ :=
#align order_ring_hom.comp OrderRingHom.comp
-/
+#print OrderRingHom.coe_comp /-
@[simp]
theorem coe_comp (f : β →+*o γ) (g : α →+*o β) : ⇑(f.comp g) = f ∘ g :=
rfl
#align order_ring_hom.coe_comp OrderRingHom.coe_comp
+-/
+#print OrderRingHom.comp_apply /-
@[simp]
theorem comp_apply (f : β →+*o γ) (g : α →+*o β) (a : α) : f.comp g a = f (g a) :=
rfl
#align order_ring_hom.comp_apply OrderRingHom.comp_apply
+-/
+#print OrderRingHom.comp_assoc /-
theorem comp_assoc (f : γ →+*o δ) (g : β →+*o γ) (h : α →+*o β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
#align order_ring_hom.comp_assoc OrderRingHom.comp_assoc
+-/
+#print OrderRingHom.comp_id /-
@[simp]
theorem comp_id (f : α →+*o β) : f.comp (OrderRingHom.id α) = f :=
ext fun x => rfl
#align order_ring_hom.comp_id OrderRingHom.comp_id
+-/
+#print OrderRingHom.id_comp /-
@[simp]
theorem id_comp (f : α →+*o β) : (OrderRingHom.id β).comp f = f :=
ext fun x => rfl
#align order_ring_hom.id_comp OrderRingHom.id_comp
+-/
+#print OrderRingHom.cancel_right /-
theorem cancel_right {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Surjective g) :
f₁.comp g = f₂.comp g ↔ f₁ = f₂ :=
⟨fun h => ext <| hg.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align order_ring_hom.cancel_right OrderRingHom.cancel_right
+-/
+#print OrderRingHom.cancel_left /-
theorem cancel_left {f : β →+*o γ} {g₁ g₂ : α →+*o β} (hf : Injective f) :
f.comp g₁ = f.comp g₂ ↔ g₁ = g₂ :=
⟨fun h => ext fun a => hf <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
#align order_ring_hom.cancel_left OrderRingHom.cancel_left
+-/
end Preorder
@@ -349,10 +403,12 @@ section LE
variable [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] [Mul γ] [Add γ] [LE γ] [Mul δ] [Add δ] [LE δ]
+#print OrderRingIso.toOrderIso /-
/-- Reinterpret an ordered ring isomorphism as an order isomorphism. -/
def toOrderIso (f : α ≃+*o β) : α ≃o β :=
⟨f.toRingEquiv.toEquiv, fun _ _ => f.map_le_map_iff'⟩
#align order_ring_iso.to_order_iso OrderRingIso.toOrderIso
+-/
instance : OrderRingIsoClass (α ≃+*o β) α β
where
@@ -370,52 +426,70 @@ directly. -/
instance : CoeFun (α ≃+*o β) fun _ => α → β :=
FunLike.hasCoeToFun
+#print OrderRingIso.toFun_eq_coe /-
theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
rfl
#align order_ring_iso.to_fun_eq_coe OrderRingIso.toFun_eq_coe
+-/
+#print OrderRingIso.ext /-
@[ext]
theorem ext {f g : α ≃+*o β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align order_ring_iso.ext OrderRingIso.ext
+-/
+#print OrderRingIso.coe_mk /-
@[simp]
theorem coe_mk (e : α ≃+* β) (h) : ⇑(⟨e, h⟩ : α ≃+*o β) = e :=
rfl
#align order_ring_iso.coe_mk OrderRingIso.coe_mk
+-/
+#print OrderRingIso.mk_coe /-
@[simp]
theorem mk_coe (e : α ≃+*o β) (h) : (⟨e, h⟩ : α ≃+*o β) = e :=
ext fun _ => rfl
#align order_ring_iso.mk_coe OrderRingIso.mk_coe
+-/
+#print OrderRingIso.toRingEquiv_eq_coe /-
@[simp]
theorem toRingEquiv_eq_coe (f : α ≃+*o β) : f.toRingEquiv = f :=
RingEquiv.ext fun _ => rfl
#align order_ring_iso.to_ring_equiv_eq_coe OrderRingIso.toRingEquiv_eq_coe
+-/
+#print OrderRingIso.toOrderIso_eq_coe /-
@[simp]
theorem toOrderIso_eq_coe (f : α ≃+*o β) : f.toOrderIso = f :=
OrderIso.ext rfl
#align order_ring_iso.to_order_iso_eq_coe OrderRingIso.toOrderIso_eq_coe
+-/
+#print OrderRingIso.coe_toRingEquiv /-
@[simp, norm_cast]
theorem coe_toRingEquiv (f : α ≃+*o β) : ⇑(f : α ≃+* β) = f :=
rfl
#align order_ring_iso.coe_to_ring_equiv OrderRingIso.coe_toRingEquiv
+-/
+#print OrderRingIso.coe_toOrderIso /-
@[simp, norm_cast]
theorem coe_toOrderIso (f : α ≃+*o β) : ⇑(f : α ≃o β) = f :=
rfl
#align order_ring_iso.coe_to_order_iso OrderRingIso.coe_toOrderIso
+-/
variable (α)
+#print OrderRingIso.refl /-
/-- The identity map as an ordered ring isomorphism. -/
@[refl]
protected def refl : α ≃+*o α :=
⟨RingEquiv.refl α, fun _ _ => Iff.rfl⟩
#align order_ring_iso.refl OrderRingIso.refl
+-/
instance : Inhabited (α ≃+*o α) :=
⟨OrderRingIso.refl α⟩
@@ -427,60 +501,80 @@ theorem refl_apply (x : α) : OrderRingIso.refl α x = x :=
#align order_ring_iso.refl_apply OrderRingIso.refl_apply
-/
+#print OrderRingIso.coe_ringEquiv_refl /-
@[simp]
theorem coe_ringEquiv_refl : (OrderRingIso.refl α : α ≃+* α) = RingEquiv.refl α :=
rfl
#align order_ring_iso.coe_ring_equiv_refl OrderRingIso.coe_ringEquiv_refl
+-/
+#print OrderRingIso.coe_orderIso_refl /-
@[simp]
theorem coe_orderIso_refl : (OrderRingIso.refl α : α ≃o α) = OrderIso.refl α :=
rfl
#align order_ring_iso.coe_order_iso_refl OrderRingIso.coe_orderIso_refl
+-/
variable {α}
+#print OrderRingIso.symm /-
/-- The inverse of an ordered ring isomorphism as an ordered ring isomorphism. -/
@[symm]
protected def symm (e : α ≃+*o β) : β ≃+*o α :=
⟨e.toRingEquiv.symm, fun a b => by
erw [← map_le_map_iff e, e.1.apply_symm_apply, e.1.apply_symm_apply]⟩
#align order_ring_iso.symm OrderRingIso.symm
+-/
+#print OrderRingIso.Simps.symm_apply /-
/-- See Note [custom simps projection] -/
def Simps.symm_apply (e : α ≃+*o β) : β → α :=
e.symm
#align order_ring_iso.simps.symm_apply OrderRingIso.Simps.symm_apply
+-/
+#print OrderRingIso.symm_symm /-
@[simp]
theorem symm_symm (e : α ≃+*o β) : e.symm.symm = e :=
ext fun _ => rfl
#align order_ring_iso.symm_symm OrderRingIso.symm_symm
+-/
+#print OrderRingIso.trans /-
/-- Composition of `order_ring_iso`s as an `order_ring_iso`. -/
@[trans, simps]
protected def trans (f : α ≃+*o β) (g : β ≃+*o γ) : α ≃+*o γ :=
⟨f.toRingEquiv.trans g.toRingEquiv, fun a b => (map_le_map_iff g).trans (map_le_map_iff f)⟩
#align order_ring_iso.trans OrderRingIso.trans
+-/
+#print OrderRingIso.trans_apply /-
@[simp]
theorem trans_apply (f : α ≃+*o β) (g : β ≃+*o γ) (a : α) : f.trans g a = g (f a) :=
rfl
#align order_ring_iso.trans_apply OrderRingIso.trans_apply
+-/
+#print OrderRingIso.self_trans_symm /-
@[simp]
theorem self_trans_symm (e : α ≃+*o β) : e.trans e.symm = OrderRingIso.refl α :=
ext e.left_inv
#align order_ring_iso.self_trans_symm OrderRingIso.self_trans_symm
+-/
+#print OrderRingIso.symm_trans_self /-
@[simp]
theorem symm_trans_self (e : α ≃+*o β) : e.symm.trans e = OrderRingIso.refl β :=
ext e.right_inv
#align order_ring_iso.symm_trans_self OrderRingIso.symm_trans_self
+-/
+#print OrderRingIso.symm_bijective /-
theorem symm_bijective : Bijective (OrderRingIso.symm : α ≃+*o β → β ≃+*o α) :=
⟨fun f g h => f.symm_symm.symm.trans <| (congr_arg OrderRingIso.symm h).trans g.symm_symm,
fun f => ⟨f.symm, f.symm_symm⟩⟩
#align order_ring_iso.symm_bijective OrderRingIso.symm_bijective
+-/
end LE
@@ -489,29 +583,39 @@ section NonAssocSemiring
variable [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β] [NonAssocSemiring γ]
[Preorder γ]
+#print OrderRingIso.toOrderRingHom /-
/-- Reinterpret an ordered ring isomorphism as an ordered ring homomorphism. -/
def toOrderRingHom (f : α ≃+*o β) : α →+*o β :=
⟨f.toRingEquiv.toRingHom, fun a b => (map_le_map_iff f).2⟩
#align order_ring_iso.to_order_ring_hom OrderRingIso.toOrderRingHom
+-/
+#print OrderRingIso.toOrderRingHom_eq_coe /-
@[simp]
theorem toOrderRingHom_eq_coe (f : α ≃+*o β) : f.toOrderRingHom = f :=
rfl
#align order_ring_iso.to_order_ring_hom_eq_coe OrderRingIso.toOrderRingHom_eq_coe
+-/
+#print OrderRingIso.coe_toOrderRingHom /-
@[simp, norm_cast]
theorem coe_toOrderRingHom (f : α ≃+*o β) : ⇑(f : α →+*o β) = f :=
rfl
#align order_ring_iso.coe_to_order_ring_hom OrderRingIso.coe_toOrderRingHom
+-/
+#print OrderRingIso.coe_toOrderRingHom_refl /-
@[simp]
theorem coe_toOrderRingHom_refl : (OrderRingIso.refl α : α →+*o α) = OrderRingHom.id α :=
rfl
#align order_ring_iso.coe_to_order_ring_hom_refl OrderRingIso.coe_toOrderRingHom_refl
+-/
+#print OrderRingIso.toOrderRingHom_injective /-
theorem toOrderRingHom_injective : Injective (toOrderRingHom : α ≃+*o β → α →+*o β) := fun f g h =>
FunLike.coe_injective <| by convert FunLike.ext'_iff.1 h
#align order_ring_iso.to_order_ring_hom_injective OrderRingIso.toOrderRingHom_injective
+-/
end NonAssocSemiring
@@ -545,17 +649,21 @@ instance OrderRingHom.subsingleton [LinearOrderedField α] [LinearOrderedField
#align order_ring_hom.subsingleton OrderRingHom.subsingleton
-/
+#print OrderRingIso.subsingleton_right /-
/-- There is at most one ordered ring isomorphism between a linear ordered field and an archimedean
linear ordered field. -/
instance OrderRingIso.subsingleton_right [LinearOrderedField α] [LinearOrderedField β]
[Archimedean β] : Subsingleton (α ≃+*o β) :=
OrderRingIso.toOrderRingHom_injective.Subsingleton
#align order_ring_iso.subsingleton_right OrderRingIso.subsingleton_right
+-/
+#print OrderRingIso.subsingleton_left /-
/-- There is at most one ordered ring isomorphism between an archimedean linear ordered field and a
linear ordered field. -/
instance OrderRingIso.subsingleton_left [LinearOrderedField α] [Archimedean α]
[LinearOrderedField β] : Subsingleton (α ≃+*o β) :=
OrderRingIso.symm_bijective.Injective.Subsingleton
#align order_ring_iso.subsingleton_left OrderRingIso.subsingleton_left
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -51,7 +51,7 @@ 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`. -/
structure OrderRingHom (α β : Type _) [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β]
- [Preorder β] extends α →+* β where
+ [Preorder β] extends α →+* β where
monotone' : Monotone to_fun
#align order_ring_hom OrderRingHom
-/
@@ -69,7 +69,7 @@ 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`. -/
structure OrderRingIso (α β : Type _) [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] extends
- α ≃+* β where
+ α ≃+* β where
map_le_map_iff' {a b : α} : to_fun a ≤ to_fun b ↔ a ≤ b
#align order_ring_iso OrderRingIso
@@ -80,7 +80,7 @@ infixl:25 " ≃+*o " => OrderRingIso
/-- `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`. -/
class OrderRingHomClass (F : Type _) (α β : outParam <| Type _) [NonAssocSemiring α] [Preorder α]
- [NonAssocSemiring β] [Preorder β] extends RingHomClass F α β where
+ [NonAssocSemiring β] [Preorder β] extends RingHomClass F α β where
Monotone (f : F) : Monotone f
#align order_ring_hom_class OrderRingHomClass
-/
@@ -89,7 +89,7 @@ class OrderRingHomClass (F : Type _) (α β : outParam <| Type _) [NonAssocSemir
/-- `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`. -/
class OrderRingIsoClass (F : Type _) (α β : outParam (Type _)) [Mul α] [Add α] [LE α] [Mul β]
- [Add β] [LE β] extends RingEquivClass F α β where
+ [Add β] [LE β] extends RingEquivClass F α β where
map_le_map_iff (f : F) {a b : α} : f a ≤ f b ↔ a ≤ b
#align order_ring_iso_class OrderRingIsoClass
-/
@@ -537,8 +537,8 @@ instance OrderRingHom.subsingleton [LinearOrderedField α] [LinearOrderedField
wlog h : f x < g x
· exact this g f x (Ne.symm h') (h'.lt_or_lt.resolve_left h)
obtain ⟨q, hf, hg⟩ := exists_rat_btwn h
- rw [← map_ratCast f] at hf
- rw [← map_ratCast g] at hg
+ rw [← map_ratCast f] at hf
+ rw [← map_ratCast g] at hg
exact
(lt_asymm ((OrderHomClass.mono g).reflect_lt hg) <|
(OrderHomClass.mono f).reflect_lt hf).elim⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -62,12 +62,6 @@ add_decl_doc OrderRingHom.toRingHom
-- mathport name: «expr →+*o »
infixl:25 " →+*o " => OrderRingHom
-/- warning: order_ring_iso -> OrderRingIso is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) (β : Type.{u2}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], Sort.{max (succ u1) (succ u2)}
-but is expected to have type
- forall (α : Type.{u1}) (β : Type.{u2}) [_inst_1 : Mul.{u1} α] [_inst_2 : Mul.{u2} β] [_inst_3 : Add.{u1} α] [_inst_4 : Add.{u2} β] [_inst_5 : LE.{u1} α] [_inst_6 : LE.{u2} β], Sort.{max (succ u1) (succ u2)}
-Case conversion may be inaccurate. Consider using '#align order_ring_iso OrderRingIsoₓ'. -/
/-- `order_ring_hom α β` is the type of order-preserving semiring isomorphisms between `α` and `β`.
When possible, instead of parametrizing results over `(f : order_ring_iso α β)`,
@@ -126,12 +120,6 @@ instance (priority := 100) OrderRingIsoClass.toOrderIsoClass [Mul α] [Add α] [
#align order_ring_iso_class.to_order_iso_class OrderRingIsoClass.toOrderIsoClass
-/
-/- warning: order_ring_iso_class.to_order_ring_hom_class -> OrderRingIsoClass.toOrderRingHomClass is a dubious translation:
-lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : OrderRingIsoClass.{u1, u2, u3} F α β (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toHasAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toHasLe.{u2} α _inst_2) (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Distrib.toHasAdd.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Preorder.toHasLe.{u3} β _inst_4)], OrderRingHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4
-but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : OrderRingIsoClass.{u1, u2, u3} F α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3)) (Distrib.toAdd.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Preorder.toLE.{u3} β _inst_4)], OrderRingHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4
-Case conversion may be inaccurate. Consider using '#align order_ring_iso_class.to_order_ring_hom_class OrderRingIsoClass.toOrderRingHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) OrderRingIsoClass.toOrderRingHomClass [NonAssocSemiring α] [Preorder α]
[NonAssocSemiring β] [Preorder β] [OrderRingIsoClass F α β] : OrderRingHomClass F α β :=
@@ -187,144 +175,73 @@ directly. -/
instance : CoeFun (α →+*o β) fun _ => α → β :=
⟨fun f => f.toFun⟩
-/- warning: order_ring_hom.to_fun_eq_coe -> OrderRingHom.toFun_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (RingHom.toFun.{u1, u2} α β _inst_1 _inst_3 (OrderRingHom.toRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (α -> β) (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1))) (MulOneClass.toOne.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))) (MonoidHom.toOneHom.{u2, u1} α β (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (RingHom.toMonoidHom.{u2, u1} α β _inst_1 _inst_3 (OrderRingHom.toRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (f : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) f) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.to_fun_eq_coe OrderRingHom.toFun_eq_coeₓ'. -/
theorem toFun_eq_coe (f : α →+*o β) : f.toFun = ⇑f :=
rfl
#align order_ring_hom.to_fun_eq_coe OrderRingHom.toFun_eq_coe
-/- warning: order_ring_hom.ext -> OrderRingHom.ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.ext OrderRingHom.extₓ'. -/
@[ext]
theorem ext {f g : α →+*o β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align order_ring_hom.ext OrderRingHom.ext
-/- warning: order_ring_hom.to_ring_hom_eq_coe -> OrderRingHom.toRingHom_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (OrderRingHom.toRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (RingHom.{u2, u1} α β _inst_1 _inst_3) (OrderRingHom.toRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.to_ring_hom_eq_coe OrderRingHom.toRingHom_eq_coeₓ'. -/
@[simp]
theorem toRingHom_eq_coe (f : α →+*o β) : f.toRingHom = f :=
RingHom.ext fun _ => rfl
#align order_ring_hom.to_ring_hom_eq_coe OrderRingHom.toRingHom_eq_coe
-/- warning: order_ring_hom.to_order_add_monoid_hom_eq_coe -> OrderRingHom.toOrderAddMonoidHom_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (OrderRingHom.toOrderAddMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (OrderAddMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) (OrderRingHom.toOrderAddMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.to_order_add_monoid_hom_eq_coe OrderRingHom.toOrderAddMonoidHom_eq_coeₓ'. -/
@[simp]
theorem toOrderAddMonoidHom_eq_coe (f : α →+*o β) : f.toOrderAddMonoidHom = f :=
rfl
#align order_ring_hom.to_order_add_monoid_hom_eq_coe OrderRingHom.toOrderAddMonoidHom_eq_coe
/- warning: order_ring_hom.to_order_monoid_with_zero_hom_eq_coe clashes with order_ring_hom.to_order_monoid_with_zero_hom -> OrderRingHom.toOrderMonoidWithZeroHom
-warning: order_ring_hom.to_order_monoid_with_zero_hom_eq_coe -> OrderRingHom.toOrderMonoidWithZeroHom is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (OrderRingHom.toOrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (OrderMonoidWithZeroHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) -> (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3))
Case conversion may be inaccurate. Consider using '#align order_ring_hom.to_order_monoid_with_zero_hom_eq_coe OrderRingHom.toOrderMonoidWithZeroHomₓ'. -/
@[simp]
theorem toOrderMonoidWithZeroHom (f : α →+*o β) : f.toOrderMonoidWithZeroHom = f :=
rfl
#align order_ring_hom.to_order_monoid_with_zero_hom_eq_coe OrderRingHom.toOrderMonoidWithZeroHom
-/- warning: order_ring_hom.coe_coe_ring_hom -> OrderRingHom.coe_coe_ringHom is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (fun (_x : RingHom.{u1, u2} α β _inst_1 _inst_3) => α -> β) (RingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_3) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_coe_ring_hom OrderRingHom.coe_coe_ringHomₓ'. -/
@[simp]
theorem coe_coe_ringHom (f : α →+*o β) : ⇑(f : α →+* β) = f :=
rfl
#align order_ring_hom.coe_coe_ring_hom OrderRingHom.coe_coe_ringHom
-/- warning: order_ring_hom.coe_coe_order_add_monoid_hom -> OrderRingHom.coe_coe_orderAddMonoidHom is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (fun (_x : OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) => α -> β) (OrderAddMonoidHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (OrderAddMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderAddMonoidHom.instOrderAddMonoidHomClassOrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))))) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_coe_order_add_monoid_hom OrderRingHom.coe_coe_orderAddMonoidHomₓ'. -/
@[simp]
theorem coe_coe_orderAddMonoidHom (f : α →+*o β) : ⇑(f : α →+o β) = f :=
rfl
#align order_ring_hom.coe_coe_order_add_monoid_hom OrderRingHom.coe_coe_orderAddMonoidHom
-/- warning: order_ring_hom.coe_coe_order_monoid_with_zero_hom -> OrderRingHom.coe_coe_orderMonoidWithZeroHom is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (OrderMonoidWithZeroHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))))) (OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_coe_order_monoid_with_zero_hom OrderRingHom.coe_coe_orderMonoidWithZeroHomₓ'. -/
@[simp]
theorem coe_coe_orderMonoidWithZeroHom (f : α →+*o β) : ⇑(f : α →*₀o β) = f :=
rfl
#align order_ring_hom.coe_coe_order_monoid_with_zero_hom OrderRingHom.coe_coe_orderMonoidWithZeroHom
-/- warning: order_ring_hom.coe_ring_hom_apply -> OrderRingHom.coe_ringHom_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_ring_hom_apply OrderRingHom.coe_ringHom_applyₓ'. -/
@[norm_cast]
theorem coe_ringHom_apply (f : α →+*o β) (a : α) : (f : α →+* β) a = f a :=
rfl
#align order_ring_hom.coe_ring_hom_apply OrderRingHom.coe_ringHom_apply
-/- warning: order_ring_hom.coe_order_add_monoid_hom_apply -> OrderRingHom.coe_orderAddMonoidHom_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_add_monoid_hom_apply OrderRingHom.coe_orderAddMonoidHom_applyₓ'. -/
@[norm_cast]
theorem coe_orderAddMonoidHom_apply (f : α →+*o β) (a : α) : (f : α →+o β) a = f a :=
rfl
#align order_ring_hom.coe_order_add_monoid_hom_apply OrderRingHom.coe_orderAddMonoidHom_apply
-/- warning: order_ring_hom.coe_order_monoid_with_zero_hom_apply -> OrderRingHom.coe_orderMonoidWithZeroHom_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_monoid_with_zero_hom_apply OrderRingHom.coe_orderMonoidWithZeroHom_applyₓ'. -/
@[norm_cast]
theorem coe_orderMonoidWithZeroHom_apply (f : α →+*o β) (a : α) : (f : α →*₀o β) a = f a :=
rfl
#align order_ring_hom.coe_order_monoid_with_zero_hom_apply OrderRingHom.coe_orderMonoidWithZeroHom_apply
-/- warning: order_ring_hom.copy -> OrderRingHom.copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.copy OrderRingHom.copyₓ'. -/
/-- Copy of a `order_ring_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : α →+*o β) (f' : α → β) (h : f' = f) : α →+*o β :=
{ f.toRingHom.copy f' h, f.toOrderAddMonoidHom.copy f' h with }
#align order_ring_hom.copy OrderRingHom.copy
-/- warning: order_ring_hom.coe_copy -> OrderRingHom.coe_copy is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h)) f'
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) (OrderRingHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h)) f'
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_copy OrderRingHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : α →+*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align order_ring_hom.coe_copy OrderRingHom.coe_copy
-/- warning: order_ring_hom.copy_eq -> OrderRingHom.copy_eq is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)), Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)), Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h) f
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.copy_eq OrderRingHom.copy_eqₓ'. -/
theorem copy_eq (f : α →+*o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align order_ring_hom.copy_eq OrderRingHom.copy_eq
@@ -341,12 +258,6 @@ protected def id : α →+*o α :=
instance : Inhabited (α →+*o α) :=
⟨OrderRingHom.id α⟩
-/- warning: order_ring_hom.coe_id -> OrderRingHom.coe_id is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (fun (_x : OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) => α -> α) (OrderRingHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (id.{succ u1} α)
-but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_id OrderRingHom.coe_idₓ'. -/
@[simp]
theorem coe_id : ⇑(OrderRingHom.id α) = id :=
rfl
@@ -354,45 +265,21 @@ theorem coe_id : ⇑(OrderRingHom.id α) = id :=
variable {α}
-/- warning: order_ring_hom.id_apply -> OrderRingHom.id_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (fun (_x : OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) => α -> α) (OrderRingHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHom.id.{u1} α _inst_1 _inst_2) a) a
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)))) (OrderRingHom.id.{u1} α _inst_1 _inst_2) a) a
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.id_apply OrderRingHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : OrderRingHom.id α a = a :=
rfl
#align order_ring_hom.id_apply OrderRingHom.id_apply
-/- warning: order_ring_hom.coe_ring_hom_id -> OrderRingHom.coe_RingHom_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (RingHom.{u1, u1} α α _inst_1 _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (RingHom.{u1, u1} α α _inst_1 _inst_1) (HasLiftT.mk.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (RingHom.{u1, u1} α α _inst_1 _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (RingHom.{u1, u1} α α _inst_1 _inst_1) (RingHom.hasCoeT.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_1 (OrderRingHomClass.toRingHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.orderRingHomClass.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2))))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (RingHom.id.{u1} α _inst_1)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (RingHom.{u1, u1} α α _inst_1 _inst_1) (RingHomClass.toRingHom.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_1 (OrderRingHomClass.toRingHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (RingHom.id.{u1} α _inst_1)
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_ring_hom_id OrderRingHom.coe_RingHom_idₓ'. -/
@[simp]
theorem coe_RingHom_id : (OrderRingHom.id α : α →+* α) = RingHom.id α :=
rfl
#align order_ring_hom.coe_ring_hom_id OrderRingHom.coe_RingHom_id
-/- warning: order_ring_hom.coe_order_add_monoid_hom_id -> OrderRingHom.coe_OrderAddMonoidHom_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderAddMonoidHom.{u1, u1} α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderAddMonoidHom.{u1, u1} α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1))))) (HasLiftT.mk.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderAddMonoidHom.{u1, u1} α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1))))) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderAddMonoidHom.{u1, u1} α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1))))) (OrderAddMonoidHom.hasCoeT.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.orderRingHomClass.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2))))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (OrderAddMonoidHom.id.{u1} α _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderAddMonoidHom.{u1, u1} α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1))))) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (OrderAddMonoidHom.id.{u1} α _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_add_monoid_hom_id OrderRingHom.coe_OrderAddMonoidHom_idₓ'. -/
@[simp]
theorem coe_OrderAddMonoidHom_id : (OrderRingHom.id α : α →+o α) = OrderAddMonoidHom.id α :=
rfl
#align order_ring_hom.coe_order_add_monoid_hom_id OrderRingHom.coe_OrderAddMonoidHom_id
-/- warning: order_ring_hom.coe_order_monoid_with_zero_hom_id -> OrderRingHom.coe_OrderMonoidWithZeroHom_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderMonoidWithZeroHom.{u1, u1} α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1)) (HasLiftT.mk.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderMonoidWithZeroHom.{u1, u1} α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1)) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderMonoidWithZeroHom.{u1, u1} α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1)) (OrderMonoidWithZeroHom.hasCoeT.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.orderRingHomClass.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2))))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (OrderMonoidWithZeroHom.id.{u1} α _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1)) (OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (OrderMonoidWithZeroHom.id.{u1} α _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1))
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_monoid_with_zero_hom_id OrderRingHom.coe_OrderMonoidWithZeroHom_idₓ'. -/
@[simp]
theorem coe_OrderMonoidWithZeroHom_id :
(OrderRingHom.id α : α →*₀o α) = OrderMonoidWithZeroHom.id α :=
@@ -406,66 +293,36 @@ protected def comp (f : β →+*o γ) (g : α →+*o β) : α →+*o γ :=
#align order_ring_hom.comp OrderRingHom.comp
-/
-/- warning: order_ring_hom.coe_comp -> OrderRingHom.coe_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_comp OrderRingHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : β →+*o γ) (g : α →+*o β) : ⇑(f.comp g) = f ∘ g :=
rfl
#align order_ring_hom.coe_comp OrderRingHom.coe_comp
-/- warning: order_ring_hom.comp_apply -> OrderRingHom.comp_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.comp_apply OrderRingHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : β →+*o γ) (g : α →+*o β) (a : α) : f.comp g a = f (g a) :=
rfl
#align order_ring_hom.comp_apply OrderRingHom.comp_apply
-/- warning: order_ring_hom.comp_assoc -> OrderRingHom.comp_assoc is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] [_inst_7 : NonAssocSemiring.{u4} δ] [_inst_8 : Preorder.{u4} δ] (f : OrderRingHom.{u3, u4} γ δ _inst_5 _inst_6 _inst_7 _inst_8) (g : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (h : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u4)} (OrderRingHom.{u1, u4} α δ _inst_1 _inst_2 _inst_7 _inst_8) (OrderRingHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_3 _inst_4 _inst_7 _inst_8 (OrderRingHom.comp.{u2, u3, u4} β γ δ _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f g) h) (OrderRingHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_2 _inst_5 _inst_6 _inst_7 _inst_8 f (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g h))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u4} γ] [_inst_6 : Preorder.{u4} γ] [_inst_7 : NonAssocSemiring.{u3} δ] [_inst_8 : Preorder.{u3} δ] (f : OrderRingHom.{u4, u3} γ δ _inst_5 _inst_6 _inst_7 _inst_8) (g : OrderRingHom.{u2, u4} β γ _inst_3 _inst_4 _inst_5 _inst_6) (h : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α δ _inst_1 _inst_2 _inst_7 _inst_8) (OrderRingHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_3 _inst_4 _inst_7 _inst_8 (OrderRingHom.comp.{u2, u4, u3} β γ δ _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f g) h) (OrderRingHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_2 _inst_5 _inst_6 _inst_7 _inst_8 f (OrderRingHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g h))
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.comp_assoc OrderRingHom.comp_assocₓ'. -/
theorem comp_assoc (f : γ →+*o δ) (g : β →+*o γ) (h : α →+*o β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
#align order_ring_hom.comp_assoc OrderRingHom.comp_assoc
-/- warning: order_ring_hom.comp_id -> OrderRingHom.comp_id is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.comp.{u1, u1, u2} α α β _inst_1 _inst_2 _inst_1 _inst_2 _inst_3 _inst_4 f (OrderRingHom.id.{u1} α _inst_1 _inst_2)) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.comp.{u2, u2, u1} α α β _inst_1 _inst_2 _inst_1 _inst_2 _inst_3 _inst_4 f (OrderRingHom.id.{u2} α _inst_1 _inst_2)) f
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.comp_id OrderRingHom.comp_idₓ'. -/
@[simp]
theorem comp_id (f : α →+*o β) : f.comp (OrderRingHom.id α) = f :=
ext fun x => rfl
#align order_ring_hom.comp_id OrderRingHom.comp_id
-/- warning: order_ring_hom.id_comp -> OrderRingHom.id_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_3 _inst_4 _inst_3 _inst_4 (OrderRingHom.id.{u2} β _inst_3 _inst_4) f) f
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_3 _inst_4 _inst_3 _inst_4 (OrderRingHom.id.{u1} β _inst_3 _inst_4) f) f
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.id_comp OrderRingHom.id_compₓ'. -/
@[simp]
theorem id_comp (f : α →+*o β) : (OrderRingHom.id β).comp f = f :=
ext fun x => rfl
#align order_ring_hom.id_comp OrderRingHom.id_comp
-/- warning: order_ring_hom.cancel_right -> OrderRingHom.cancel_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.cancel_right OrderRingHom.cancel_rightₓ'. -/
theorem cancel_right {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Surjective g) :
f₁.comp g = f₂.comp g ↔ f₁ = f₂ :=
⟨fun h => ext <| hg.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align order_ring_hom.cancel_right OrderRingHom.cancel_right
-/- warning: order_ring_hom.cancel_left -> OrderRingHom.cancel_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_hom.cancel_left OrderRingHom.cancel_leftₓ'. -/
theorem cancel_left {f : β →+*o γ} {g₁ g₂ : α →+*o β} (hf : Injective f) :
f.comp g₁ = f.comp g₂ ↔ g₁ = g₂ :=
⟨fun h => ext fun a => hf <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -492,12 +349,6 @@ section LE
variable [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] [Mul γ] [Add γ] [LE γ] [Mul δ] [Add δ] [LE δ]
-/- warning: order_ring_iso.to_order_iso -> OrderRingIso.toOrderIso is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) -> (OrderIso.{u1, u2} α β _inst_3 _inst_6)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) -> (OrderIso.{u1, u2} α β _inst_3 _inst_6)
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_iso OrderRingIso.toOrderIsoₓ'. -/
/-- Reinterpret an ordered ring isomorphism as an order isomorphism. -/
def toOrderIso (f : α ≃+*o β) : α ≃o β :=
⟨f.toRingEquiv.toEquiv, fun _ _ => f.map_le_map_iff'⟩
@@ -519,64 +370,40 @@ directly. -/
instance : CoeFun (α ≃+*o β) fun _ => α → β :=
FunLike.hasCoeToFun
-/- warning: order_ring_iso.to_fun_eq_coe -> OrderRingIso.toFun_eq_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_fun_eq_coe OrderRingIso.toFun_eq_coeₓ'. -/
theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
rfl
#align order_ring_iso.to_fun_eq_coe OrderRingIso.toFun_eq_coe
-/- warning: order_ring_iso.ext -> OrderRingIso.ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.ext OrderRingIso.extₓ'. -/
@[ext]
theorem ext {f g : α ≃+*o β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align order_ring_iso.ext OrderRingIso.ext
-/- warning: order_ring_iso.coe_mk -> OrderRingIso.coe_mk is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_mk OrderRingIso.coe_mkₓ'. -/
@[simp]
theorem coe_mk (e : α ≃+* β) (h) : ⇑(⟨e, h⟩ : α ≃+*o β) = e :=
rfl
#align order_ring_iso.coe_mk OrderRingIso.coe_mk
-/- warning: order_ring_iso.mk_coe -> OrderRingIso.mk_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.mk_coe OrderRingIso.mk_coeₓ'. -/
@[simp]
theorem mk_coe (e : α ≃+*o β) (h) : (⟨e, h⟩ : α ≃+*o β) = e :=
ext fun _ => rfl
#align order_ring_iso.mk_coe OrderRingIso.mk_coe
-/- warning: order_ring_iso.to_ring_equiv_eq_coe -> OrderRingIso.toRingEquiv_eq_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_ring_equiv_eq_coe OrderRingIso.toRingEquiv_eq_coeₓ'. -/
@[simp]
theorem toRingEquiv_eq_coe (f : α ≃+*o β) : f.toRingEquiv = f :=
RingEquiv.ext fun _ => rfl
#align order_ring_iso.to_ring_equiv_eq_coe OrderRingIso.toRingEquiv_eq_coe
-/- warning: order_ring_iso.to_order_iso_eq_coe -> OrderRingIso.toOrderIso_eq_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_iso_eq_coe OrderRingIso.toOrderIso_eq_coeₓ'. -/
@[simp]
theorem toOrderIso_eq_coe (f : α ≃+*o β) : f.toOrderIso = f :=
OrderIso.ext rfl
#align order_ring_iso.to_order_iso_eq_coe OrderRingIso.toOrderIso_eq_coe
-/- warning: order_ring_iso.coe_to_ring_equiv -> OrderRingIso.coe_toRingEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_ring_equiv OrderRingIso.coe_toRingEquivₓ'. -/
@[simp, norm_cast]
theorem coe_toRingEquiv (f : α ≃+*o β) : ⇑(f : α ≃+* β) = f :=
rfl
#align order_ring_iso.coe_to_ring_equiv OrderRingIso.coe_toRingEquiv
-/- warning: order_ring_iso.coe_to_order_iso -> OrderRingIso.coe_toOrderIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_iso OrderRingIso.coe_toOrderIsoₓ'. -/
@[simp, norm_cast]
theorem coe_toOrderIso (f : α ≃+*o β) : ⇑(f : α ≃o β) = f :=
rfl
@@ -584,12 +411,6 @@ theorem coe_toOrderIso (f : α ≃+*o β) : ⇑(f : α ≃o β) = f :=
variable (α)
-/- warning: order_ring_iso.refl -> OrderRingIso.refl is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3
-but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], OrderRingIso.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.refl OrderRingIso.reflₓ'. -/
/-- The identity map as an ordered ring isomorphism. -/
@[refl]
protected def refl : α ≃+*o α :=
@@ -606,23 +427,11 @@ theorem refl_apply (x : α) : OrderRingIso.refl α x = x :=
#align order_ring_iso.refl_apply OrderRingIso.refl_apply
-/
-/- warning: order_ring_iso.coe_ring_equiv_refl -> OrderRingIso.coe_ringEquiv_refl is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], Eq.{succ u1} (RingEquiv.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (RingEquiv.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (HasLiftT.mk.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (RingEquiv.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (RingEquiv.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (RingEquiv.hasCoeT.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIsoClass.toRingEquivClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 (OrderRingIso.orderRingIsoClass.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3))))) (OrderRingIso.refl.{u1} α _inst_1 _inst_2 _inst_3)) (RingEquiv.refl.{u1} α _inst_1 _inst_2)
-but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], Eq.{succ u1} (RingEquiv.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2) (RingEquivClass.toRingEquiv.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIsoClass.toRingEquivClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3) α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3)) (OrderRingIso.refl.{u1} α _inst_1 _inst_2 _inst_3)) (RingEquiv.refl.{u1} α _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_ring_equiv_refl OrderRingIso.coe_ringEquiv_reflₓ'. -/
@[simp]
theorem coe_ringEquiv_refl : (OrderRingIso.refl α : α ≃+* α) = RingEquiv.refl α :=
rfl
#align order_ring_iso.coe_ring_equiv_refl OrderRingIso.coe_ringEquiv_refl
-/- warning: order_ring_iso.coe_order_iso_refl -> OrderRingIso.coe_orderIso_refl is a dubious translation:
-lean 3 declaration is
- forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], Eq.{succ u1} (OrderIso.{u1, u1} α α _inst_3 _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (OrderIso.{u1, u1} α α _inst_3 _inst_3) (HasLiftT.mk.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (OrderIso.{u1, u1} α α _inst_3 _inst_3) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (OrderIso.{u1, u1} α α _inst_3 _inst_3) (OrderIso.hasCoeT.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) α α _inst_3 _inst_3 (OrderRingIsoClass.toOrderIsoClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 (OrderRingIso.orderRingIsoClass.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3))))) (OrderRingIso.refl.{u1} α _inst_1 _inst_2 _inst_3)) (OrderIso.refl.{u1} α _inst_3)
-but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], Eq.{succ u1} (OrderIso.{u1, u1} α α _inst_3 _inst_3) (OrderIsoClass.toOrderIso.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3) α α _inst_3 _inst_3 (OrderRingIsoClass.toOrderIsoClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3) α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3)) (OrderRingIso.refl.{u1} α _inst_1 _inst_2 _inst_3)) (OrderIso.refl.{u1} α _inst_3)
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_order_iso_refl OrderRingIso.coe_orderIso_reflₓ'. -/
@[simp]
theorem coe_orderIso_refl : (OrderRingIso.refl α : α ≃o α) = OrderIso.refl α :=
rfl
@@ -630,12 +439,6 @@ theorem coe_orderIso_refl : (OrderRingIso.refl α : α ≃o α) = OrderIso.refl
variable {α}
-/- warning: order_ring_iso.symm -> OrderRingIso.symm is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) -> (OrderRingIso.{u2, u1} β α _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) -> (OrderRingIso.{u2, u1} β α _inst_4 _inst_1 _inst_5 _inst_2 _inst_6 _inst_3)
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.symm OrderRingIso.symmₓ'. -/
/-- The inverse of an ordered ring isomorphism as an ordered ring isomorphism. -/
@[symm]
protected def symm (e : α ≃+*o β) : β ≃+*o α :=
@@ -643,76 +446,37 @@ protected def symm (e : α ≃+*o β) : β ≃+*o α :=
erw [← map_le_map_iff e, e.1.apply_symm_apply, e.1.apply_symm_apply]⟩
#align order_ring_iso.symm OrderRingIso.symm
-/- warning: order_ring_iso.simps.symm_apply -> OrderRingIso.Simps.symm_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) -> β -> α
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) -> β -> α
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.simps.symm_apply OrderRingIso.Simps.symm_applyₓ'. -/
/-- See Note [custom simps projection] -/
def Simps.symm_apply (e : α ≃+*o β) : β → α :=
e.symm
#align order_ring_iso.simps.symm_apply OrderRingIso.Simps.symm_apply
-/- warning: order_ring_iso.symm_symm -> OrderRingIso.symm_symm is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (e : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderRingIso.symm.{u2, u1} β α _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 (OrderRingIso.symm.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e)) e
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (OrderRingIso.symm.{u1, u2} β α _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 (OrderRingIso.symm.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e)) e
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.symm_symm OrderRingIso.symm_symmₓ'. -/
@[simp]
theorem symm_symm (e : α ≃+*o β) : e.symm.symm = e :=
ext fun _ => rfl
#align order_ring_iso.symm_symm OrderRingIso.symm_symm
-/- warning: order_ring_iso.trans -> OrderRingIso.trans is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] [_inst_7 : Mul.{u3} γ] [_inst_8 : Add.{u3} γ] [_inst_9 : LE.{u3} γ], (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) -> (OrderRingIso.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) -> (OrderRingIso.{u1, u3} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] [_inst_7 : Mul.{u3} γ] [_inst_8 : Add.{u3} γ] [_inst_9 : LE.{u3} γ], (OrderRingIso.{u1, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) -> (OrderRingIso.{u2, u3} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) -> (OrderRingIso.{u1, u3} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9)
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.trans OrderRingIso.transₓ'. -/
/-- Composition of `order_ring_iso`s as an `order_ring_iso`. -/
@[trans, simps]
protected def trans (f : α ≃+*o β) (g : β ≃+*o γ) : α ≃+*o γ :=
⟨f.toRingEquiv.trans g.toRingEquiv, fun a b => (map_le_map_iff g).trans (map_le_map_iff f)⟩
#align order_ring_iso.trans OrderRingIso.trans
-/- warning: order_ring_iso.trans_apply -> OrderRingIso.trans_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.trans_apply OrderRingIso.trans_applyₓ'. -/
@[simp]
theorem trans_apply (f : α ≃+*o β) (g : β ≃+*o γ) (a : α) : f.trans g a = g (f a) :=
rfl
#align order_ring_iso.trans_apply OrderRingIso.trans_apply
-/- warning: order_ring_iso.self_trans_symm -> OrderRingIso.self_trans_symm is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (e : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{succ u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (OrderRingIso.trans.{u1, u2, u1} α β α _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 e (OrderRingIso.symm.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e)) (OrderRingIso.refl.{u1} α _inst_1 _inst_2 _inst_3)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{succ u2} (OrderRingIso.{u2, u2} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3) (OrderRingIso.trans.{u2, u1, u2} α β α _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 e (OrderRingIso.symm.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e)) (OrderRingIso.refl.{u2} α _inst_1 _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.self_trans_symm OrderRingIso.self_trans_symmₓ'. -/
@[simp]
theorem self_trans_symm (e : α ≃+*o β) : e.trans e.symm = OrderRingIso.refl α :=
ext e.left_inv
#align order_ring_iso.self_trans_symm OrderRingIso.self_trans_symm
-/- warning: order_ring_iso.symm_trans_self -> OrderRingIso.symm_trans_self is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (e : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{succ u2} (OrderRingIso.{u2, u2} β β _inst_4 _inst_5 _inst_6 _inst_4 _inst_5 _inst_6) (OrderRingIso.trans.{u2, u1, u2} β α β _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.symm.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e) e) (OrderRingIso.refl.{u2} β _inst_4 _inst_5 _inst_6)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{succ u1} (OrderRingIso.{u1, u1} β β _inst_4 _inst_4 _inst_5 _inst_5 _inst_6 _inst_6) (OrderRingIso.trans.{u1, u2, u1} β α β _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.symm.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e) e) (OrderRingIso.refl.{u1} β _inst_4 _inst_5 _inst_6)
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.symm_trans_self OrderRingIso.symm_trans_selfₓ'. -/
@[simp]
theorem symm_trans_self (e : α ≃+*o β) : e.symm.trans e = OrderRingIso.refl β :=
ext e.right_inv
#align order_ring_iso.symm_trans_self OrderRingIso.symm_trans_self
-/- warning: order_ring_iso.symm_bijective -> OrderRingIso.symm_bijective is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], Function.Bijective.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderRingIso.{u2, u1} β α _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3) (OrderRingIso.symm.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β], Function.Bijective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (OrderRingIso.{u1, u2} β α _inst_4 _inst_1 _inst_5 _inst_2 _inst_6 _inst_3) (OrderRingIso.symm.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.symm_bijective OrderRingIso.symm_bijectiveₓ'. -/
theorem symm_bijective : Bijective (OrderRingIso.symm : α ≃+*o β → β ≃+*o α) :=
⟨fun f g h => f.symm_symm.symm.trans <| (congr_arg OrderRingIso.symm h).trans g.symm_symm,
fun f => ⟨f.symm, f.symm_symm⟩⟩
@@ -725,50 +489,26 @@ section NonAssocSemiring
variable [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β] [NonAssocSemiring γ]
[Preorder γ]
-/- warning: order_ring_iso.to_order_ring_hom -> OrderRingIso.toOrderRingHom is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], (OrderRingIso.{u1, u2} α β (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u1} α _inst_2) (Preorder.toLE.{u2} β _inst_4)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_ring_hom OrderRingIso.toOrderRingHomₓ'. -/
/-- Reinterpret an ordered ring isomorphism as an ordered ring homomorphism. -/
def toOrderRingHom (f : α ≃+*o β) : α →+*o β :=
⟨f.toRingEquiv.toRingHom, fun a b => (map_le_map_iff f).2⟩
#align order_ring_iso.to_order_ring_hom OrderRingIso.toOrderRingHom
-/- warning: order_ring_iso.to_order_ring_hom_eq_coe -> OrderRingIso.toOrderRingHom_eq_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_ring_hom_eq_coe OrderRingIso.toOrderRingHom_eq_coeₓ'. -/
@[simp]
theorem toOrderRingHom_eq_coe (f : α ≃+*o β) : f.toOrderRingHom = f :=
rfl
#align order_ring_iso.to_order_ring_hom_eq_coe OrderRingIso.toOrderRingHom_eq_coe
-/- warning: order_ring_iso.coe_to_order_ring_hom -> OrderRingIso.coe_toOrderRingHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_ring_hom OrderRingIso.coe_toOrderRingHomₓ'. -/
@[simp, norm_cast]
theorem coe_toOrderRingHom (f : α ≃+*o β) : ⇑(f : α →+*o β) = f :=
rfl
#align order_ring_iso.coe_to_order_ring_hom OrderRingIso.coe_toOrderRingHom
-/- warning: order_ring_iso.coe_to_order_ring_hom_refl -> OrderRingIso.coe_toOrderRingHom_refl is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (HasLiftT.mk.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHom.hasCoeT.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIsoClass.toOrderRingHomClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIso.orderRingIsoClass.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)))))) (OrderRingIso.refl.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHomClass.toOrderRingHom.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Preorder.toLE.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIsoClass.toOrderRingHomClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Preorder.toLE.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u1, u1} α α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2))) (OrderRingIso.refl.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_ring_hom_refl OrderRingIso.coe_toOrderRingHom_reflₓ'. -/
@[simp]
theorem coe_toOrderRingHom_refl : (OrderRingIso.refl α : α →+*o α) = OrderRingHom.id α :=
rfl
#align order_ring_iso.coe_to_order_ring_hom_refl OrderRingIso.coe_toOrderRingHom_refl
-/- warning: order_ring_iso.to_order_ring_hom_injective -> OrderRingIso.toOrderRingHom_injective is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], Function.Injective.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_ring_hom_injective OrderRingIso.toOrderRingHom_injectiveₓ'. -/
theorem toOrderRingHom_injective : Injective (toOrderRingHom : α ≃+*o β → α →+*o β) := fun f g h =>
FunLike.coe_injective <| by convert FunLike.ext'_iff.1 h
#align order_ring_iso.to_order_ring_hom_injective OrderRingIso.toOrderRingHom_injective
@@ -805,12 +545,6 @@ instance OrderRingHom.subsingleton [LinearOrderedField α] [LinearOrderedField
#align order_ring_hom.subsingleton OrderRingHom.subsingleton
-/
-/- warning: order_ring_iso.subsingleton_right -> OrderRingIso.subsingleton_right is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : LinearOrderedField.{u2} β] [_inst_3 : Archimedean.{u2} β (OrderedSemiring.toOrderedAddCommMonoid.{u2} β (StrictOrderedSemiring.toOrderedSemiring.{u2} β (StrictOrderedRing.toStrictOrderedSemiring.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_2))))))], Subsingleton.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (Distrib.toHasMul.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2))))) (Distrib.toHasAdd.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2))))) (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommGroup.toPartialOrder.{u2} β (StrictOrderedRing.toOrderedAddCommGroup.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_2))))))))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : LinearOrderedField.{u2} β] [_inst_3 : Archimedean.{u2} β (OrderedSemiring.toOrderedAddCommMonoid.{u2} β (OrderedCommSemiring.toOrderedSemiring.{u2} β (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} β (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} β (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} β (LinearOrderedField.toLinearOrderedSemifield.{u2} β _inst_2))))))], Subsingleton.{max (succ u2) (succ u1)} (OrderRingIso.{u1, u2} α β (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))) (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2)))))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (Distrib.toAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2)))))))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (StrictOrderedRing.toPartialOrder.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_2)))))))
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.subsingleton_right OrderRingIso.subsingleton_rightₓ'. -/
/-- There is at most one ordered ring isomorphism between a linear ordered field and an archimedean
linear ordered field. -/
instance OrderRingIso.subsingleton_right [LinearOrderedField α] [LinearOrderedField β]
@@ -818,12 +552,6 @@ instance OrderRingIso.subsingleton_right [LinearOrderedField α] [LinearOrderedF
OrderRingIso.toOrderRingHom_injective.Subsingleton
#align order_ring_iso.subsingleton_right OrderRingIso.subsingleton_right
-/- warning: order_ring_iso.subsingleton_left -> OrderRingIso.subsingleton_left is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Archimedean.{u1} α (OrderedSemiring.toOrderedAddCommMonoid.{u1} α (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))] [_inst_3 : LinearOrderedField.{u2} β], Subsingleton.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (Distrib.toHasMul.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3))))) (Distrib.toHasAdd.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3))))) (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommGroup.toPartialOrder.{u2} β (StrictOrderedRing.toOrderedAddCommGroup.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_3))))))))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Archimedean.{u1} α (OrderedSemiring.toOrderedAddCommMonoid.{u1} α (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))))] [_inst_3 : LinearOrderedField.{u2} β], Subsingleton.{max (succ u2) (succ u1)} (OrderRingIso.{u1, u2} α β (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))) (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3)))))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (Distrib.toAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3)))))))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (StrictOrderedRing.toPartialOrder.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_3)))))))
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.subsingleton_left OrderRingIso.subsingleton_leftₓ'. -/
/-- There is at most one ordered ring isomorphism between an archimedean linear ordered field and a
linear ordered field. -/
instance OrderRingIso.subsingleton_left [LinearOrderedField α] [Archimedean α]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -507,10 +507,7 @@ instance : OrderRingIsoClass (α ≃+*o β) α β
where
coe f := f.toFun
inv f := f.invFun
- coe_injective' f g h₁ h₂ := by
- obtain ⟨⟨_, _⟩, _⟩ := f
- obtain ⟨⟨_, _⟩, _⟩ := g
- congr
+ coe_injective' f g h₁ h₂ := by obtain ⟨⟨_, _⟩, _⟩ := f; obtain ⟨⟨_, _⟩, _⟩ := g; congr
map_add f := f.map_add'
map_mul f := f.map_mul'
map_le_map_iff f _ _ := f.map_le_map_iff'
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -198,10 +198,7 @@ theorem toFun_eq_coe (f : α →+*o β) : f.toFun = ⇑f :=
#align order_ring_hom.to_fun_eq_coe OrderRingHom.toFun_eq_coe
/- warning: order_ring_hom.ext -> OrderRingHom.ext is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] {f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4} {g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f g)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] {f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4} {g : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g a)) -> (Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) f g)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_hom.ext OrderRingHom.extₓ'. -/
@[ext]
theorem ext {f g : α →+*o β} (h : ∀ a, f a = g a) : f = g :=
@@ -276,10 +273,7 @@ theorem coe_coe_orderMonoidWithZeroHom (f : α →+*o β) : ⇑(f : α →*₀o
#align order_ring_hom.coe_coe_order_monoid_with_zero_hom OrderRingHom.coe_coe_orderMonoidWithZeroHom
/- warning: order_ring_hom.coe_ring_hom_apply -> OrderRingHom.coe_ringHom_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (fun (_x : RingHom.{u1, u2} α β _inst_1 _inst_3) => α -> β) (RingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_3) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_ring_hom_apply OrderRingHom.coe_ringHom_applyₓ'. -/
@[norm_cast]
theorem coe_ringHom_apply (f : α →+*o β) (a : α) : (f : α →+* β) a = f a :=
@@ -287,10 +281,7 @@ theorem coe_ringHom_apply (f : α →+*o β) (a : α) : (f : α →+* β) a = f
#align order_ring_hom.coe_ring_hom_apply OrderRingHom.coe_ringHom_apply
/- warning: order_ring_hom.coe_order_add_monoid_hom_apply -> OrderRingHom.coe_orderAddMonoidHom_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (fun (_x : OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) => α -> β) (OrderAddMonoidHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (OrderAddMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderAddMonoidHom.instOrderAddMonoidHomClassOrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))))) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_add_monoid_hom_apply OrderRingHom.coe_orderAddMonoidHom_applyₓ'. -/
@[norm_cast]
theorem coe_orderAddMonoidHom_apply (f : α →+*o β) (a : α) : (f : α →+o β) a = f a :=
@@ -298,10 +289,7 @@ theorem coe_orderAddMonoidHom_apply (f : α →+*o β) (a : α) : (f : α →+o
#align order_ring_hom.coe_order_add_monoid_hom_apply OrderRingHom.coe_orderAddMonoidHom_apply
/- warning: order_ring_hom.coe_order_monoid_with_zero_hom_apply -> OrderRingHom.coe_orderMonoidWithZeroHom_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (OrderMonoidWithZeroHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))))) (OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_monoid_with_zero_hom_apply OrderRingHom.coe_orderMonoidWithZeroHom_applyₓ'. -/
@[norm_cast]
theorem coe_orderMonoidWithZeroHom_apply (f : α →+*o β) (a : α) : (f : α →*₀o β) a = f a :=
@@ -419,10 +407,7 @@ protected def comp (f : β →+*o γ) (g : α →+*o β) : α →+*o γ :=
-/
/- warning: order_ring_hom.coe_comp -> OrderRingHom.coe_comp is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] (f : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) => α -> γ) (OrderRingHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) => β -> γ) (OrderRingHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] (f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_2 _inst_6 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_1 _inst_2 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g))
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_comp OrderRingHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : β →+*o γ) (g : α →+*o β) : ⇑(f.comp g) = f ∘ g :=
@@ -430,10 +415,7 @@ theorem coe_comp (f : β →+*o γ) (g : α →+*o β) : ⇑(f.comp g) = f ∘ g
#align order_ring_hom.coe_comp OrderRingHom.coe_comp
/- warning: order_ring_hom.comp_apply -> OrderRingHom.comp_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] (f : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) => α -> γ) (OrderRingHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) => β -> γ) (OrderRingHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g a))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] (f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_2 _inst_6 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_1 _inst_2 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g a))
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_hom.comp_apply OrderRingHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : β →+*o γ) (g : α →+*o β) (a : α) : f.comp g a = f (g a) :=
@@ -474,10 +456,7 @@ theorem id_comp (f : α →+*o β) : (OrderRingHom.id β).comp f = f :=
#align order_ring_hom.id_comp OrderRingHom.id_comp
/- warning: order_ring_hom.cancel_right -> OrderRingHom.cancel_right is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] {f₁ : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6} {f₂ : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₁ g) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₂ g)) (Eq.{max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f₁ f₂))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] {f₁ : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {f₂ : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₁ g) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₂ g)) (Eq.{max (succ u3) (succ u2)} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) f₁ f₂))
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_hom.cancel_right OrderRingHom.cancel_rightₓ'. -/
theorem cancel_right {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Surjective g) :
f₁.comp g = f₂.comp g ↔ f₁ = f₂ :=
@@ -485,10 +464,7 @@ theorem cancel_right {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Surject
#align order_ring_hom.cancel_right OrderRingHom.cancel_right
/- warning: order_ring_hom.cancel_left -> OrderRingHom.cancel_left is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] {f : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g₁ : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4} {g₂ : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) => β -> γ) (OrderRingHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₁) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₂)) (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g₁ g₂))
-but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] {f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g₁ : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4} {g₂ : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₁) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₂)) (Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) g₁ g₂))
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_hom.cancel_left OrderRingHom.cancel_leftₓ'. -/
theorem cancel_left {f : β →+*o γ} {g₁ g₂ : α →+*o β} (hf : Injective f) :
f.comp g₁ = f.comp g₂ ↔ g₁ = g₂ :=
@@ -547,20 +523,14 @@ instance : CoeFun (α ≃+*o β) fun _ => α → β :=
FunLike.hasCoeToFun
/- warning: order_ring_iso.to_fun_eq_coe -> OrderRingIso.toFun_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIso.toRingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 (OrderRingIso.toRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_fun_eq_coe OrderRingIso.toFun_eq_coeₓ'. -/
theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
rfl
#align order_ring_iso.to_fun_eq_coe OrderRingIso.toFun_eq_coe
/- warning: order_ring_iso.ext -> OrderRingIso.ext is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] {f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6} {g : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f g)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] {f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6} {g : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) g a)) -> (Eq.{max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) f g)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_iso.ext OrderRingIso.extₓ'. -/
@[ext]
theorem ext {f g : α ≃+*o β} (h : ∀ a, f a = g a) : f = g :=
@@ -568,10 +538,7 @@ theorem ext {f g : α ≃+*o β} (h : ∀ a, f a = g a) : f = g :=
#align order_ring_iso.ext OrderRingIso.ext
/- warning: order_ring_iso.coe_mk -> OrderRingIso.coe_mk is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (e : RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (h : forall {a : α} {b : α}, Iff (LE.le.{u2} β _inst_6 (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 e a) (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 e b)) (LE.le.{u1} α _inst_3 a b)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderRingIso.mk.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (fun (_x : RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) => α -> β) (RingEquiv.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) e)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) (h : forall {a : α} {b : α}, Iff (LE.le.{u1} β _inst_6 (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 e) a) (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 e) b)) (LE.le.{u2} α _inst_3 a b)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (OrderRingIso.mk.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 e h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (MulEquivClass.toEquivLike.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_4 (RingEquivClass.toMulEquivClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_2 _inst_4 _inst_5 (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5))))) e)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_mk OrderRingIso.coe_mkₓ'. -/
@[simp]
theorem coe_mk (e : α ≃+* β) (h) : ⇑(⟨e, h⟩ : α ≃+*o β) = e :=
@@ -579,10 +546,7 @@ theorem coe_mk (e : α ≃+* β) (h) : ⇑(⟨e, h⟩ : α ≃+*o β) = e :=
#align order_ring_iso.coe_mk OrderRingIso.coe_mk
/- warning: order_ring_iso.mk_coe -> OrderRingIso.mk_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (e : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (h : forall {a : α} {b : α}, Iff (LE.le.{u2} β _inst_6 (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (RingEquiv.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) e) a) (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (RingEquiv.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) e) b)) (LE.le.{u1} α _inst_3 a b)), Eq.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderRingIso.mk.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (RingEquiv.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) e) h) e
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (h : forall {a : α} {b : α}, Iff (LE.le.{u1} β _inst_6 (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) e)) a) (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) e)) b)) (LE.le.{u2} α _inst_3 a b)), Eq.{max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (OrderRingIso.mk.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) e) h) e
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_iso.mk_coe OrderRingIso.mk_coeₓ'. -/
@[simp]
theorem mk_coe (e : α ≃+*o β) (h) : (⟨e, h⟩ : α ≃+*o β) = e :=
@@ -590,10 +554,7 @@ theorem mk_coe (e : α ≃+*o β) (h) : (⟨e, h⟩ : α ≃+*o β) = e :=
#align order_ring_iso.mk_coe OrderRingIso.mk_coe
/- warning: order_ring_iso.to_ring_equiv_eq_coe -> OrderRingIso.toRingEquiv_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (OrderRingIso.toRingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (RingEquiv.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) (OrderRingIso.toRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 f) (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_ring_equiv_eq_coe OrderRingIso.toRingEquiv_eq_coeₓ'. -/
@[simp]
theorem toRingEquiv_eq_coe (f : α ≃+*o β) : f.toRingEquiv = f :=
@@ -601,10 +562,7 @@ theorem toRingEquiv_eq_coe (f : α ≃+*o β) : f.toRingEquiv = f :=
#align order_ring_iso.to_ring_equiv_eq_coe OrderRingIso.toRingEquiv_eq_coe
/- warning: order_ring_iso.to_order_iso_eq_coe -> OrderRingIso.toOrderIso_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (OrderIso.{u1, u2} α β _inst_3 _inst_6) (OrderRingIso.toOrderIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (OrderIso.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (OrderIso.{u2, u1} α β _inst_3 _inst_6) (OrderRingIso.toOrderIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f) (OrderIsoClass.toOrderIso.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_iso_eq_coe OrderRingIso.toOrderIso_eq_coeₓ'. -/
@[simp]
theorem toOrderIso_eq_coe (f : α ≃+*o β) : f.toOrderIso = f :=
@@ -612,10 +570,7 @@ theorem toOrderIso_eq_coe (f : α ≃+*o β) : f.toOrderIso = f :=
#align order_ring_iso.to_order_iso_eq_coe OrderRingIso.toOrderIso_eq_coe
/- warning: order_ring_iso.coe_to_ring_equiv -> OrderRingIso.coe_toRingEquiv is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (fun (_x : RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) => α -> β) (RingEquiv.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (RingEquiv.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (MulEquivClass.toEquivLike.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_4 (RingEquivClass.toMulEquivClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_2 _inst_4 _inst_5 (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5))))) (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_ring_equiv OrderRingIso.coe_toRingEquivₓ'. -/
@[simp, norm_cast]
theorem coe_toRingEquiv (f : α ≃+*o β) : ⇑(f : α ≃+* β) = f :=
@@ -623,10 +578,7 @@ theorem coe_toRingEquiv (f : α ≃+*o β) : ⇑(f : α ≃+* β) = f :=
#align order_ring_iso.coe_to_ring_equiv OrderRingIso.coe_toRingEquiv
/- warning: order_ring_iso.coe_to_order_iso -> OrderRingIso.coe_toOrderIso is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} α β _inst_3 _inst_6) (fun (_x : RelIso.{u1, u2} α β (LE.le.{u1} α _inst_3) (LE.le.{u2} β _inst_6)) => α -> β) (RelIso.hasCoeToFun.{u1, u2} α β (LE.le.{u1} α _inst_3) (LE.le.{u2} β _inst_6)) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (OrderIso.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderIso.{u2, u1} α β _inst_3 _inst_6) α (fun (_x : α) => β) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderIso.{u2, u1} α β _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (OrderIsoClass.toOrderIso.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_iso OrderRingIso.coe_toOrderIsoₓ'. -/
@[simp, norm_cast]
theorem coe_toOrderIso (f : α ≃+*o β) : ⇑(f : α ≃o β) = f :=
@@ -729,10 +681,7 @@ protected def trans (f : α ≃+*o β) (g : β ≃+*o γ) : α ≃+*o γ :=
#align order_ring_iso.trans OrderRingIso.trans
/- warning: order_ring_iso.trans_apply -> OrderRingIso.trans_apply is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] [_inst_7 : Mul.{u3} γ] [_inst_8 : Add.{u3} γ] [_inst_9 : LE.{u3} γ] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingIso.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderRingIso.{u1, u3} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9) (fun (_x : OrderRingIso.{u1, u3} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9) => α -> γ) (OrderRingIso.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9) (OrderRingIso.trans.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingIso.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) (fun (_x : OrderRingIso.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) => β -> γ) (OrderRingIso.hasCoeToFun.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f a))
-but is expected to have type
- forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Mul.{u3} α] [_inst_2 : Add.{u3} α] [_inst_3 : LE.{u3} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] [_inst_7 : Mul.{u1} γ] [_inst_8 : Add.{u1} γ] [_inst_9 : LE.{u1} γ] (f : OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (g : OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u3} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u1} γ _inst_9 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ _inst_3 _inst_9 (OrderRingIsoClass.toOrderIsoClass.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u3, u1} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9)))) (OrderRingIso.trans.{u3, u2, u1} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f g) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u2} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u1} γ _inst_9 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ _inst_6 _inst_9 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9)))) g (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u3} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u2} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u3, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f a))
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_iso.trans_apply OrderRingIso.trans_applyₓ'. -/
@[simp]
theorem trans_apply (f : α ≃+*o β) (g : β ≃+*o γ) (a : α) : f.trans g a = g (f a) :=
@@ -791,10 +740,7 @@ def toOrderRingHom (f : α ≃+*o β) : α →+*o β :=
#align order_ring_iso.to_order_ring_hom OrderRingIso.toOrderRingHom
/- warning: order_ring_iso.to_order_ring_hom_eq_coe -> OrderRingIso.toOrderRingHom_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)), Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.orderRingIsoClass.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)))))) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)), Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f) (OrderRingHomClass.toOrderRingHom.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4))) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_ring_hom_eq_coe OrderRingIso.toOrderRingHom_eq_coeₓ'. -/
@[simp]
theorem toOrderRingHom_eq_coe (f : α ≃+*o β) : f.toOrderRingHom = f :=
@@ -802,10 +748,7 @@ theorem toOrderRingHom_eq_coe (f : α ≃+*o β) : f.toOrderRingHom = f :=
#align order_ring_iso.to_order_ring_hom_eq_coe OrderRingIso.toOrderRingHom_eq_coe
/- warning: order_ring_iso.coe_to_order_ring_hom -> OrderRingIso.coe_toOrderRingHom is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.orderRingIsoClass.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (fun (_x : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) f)
-but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) (OrderRingHomClass.toOrderRingHom.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4))) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4)))))) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_ring_hom OrderRingIso.coe_toOrderRingHomₓ'. -/
@[simp, norm_cast]
theorem coe_toOrderRingHom (f : α ≃+*o β) : ⇑(f : α →+*o β) = f :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -191,7 +191,7 @@ instance : CoeFun (α →+*o β) fun _ => α → β :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (RingHom.toFun.{u1, u2} α β _inst_1 _inst_3 (OrderRingHom.toRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (α -> β) (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1))) (MulOneClass.toOne.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))) (MonoidHom.toOneHom.{u2, u1} α β (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (RingHom.toMonoidHom.{u2, u1} α β _inst_1 _inst_3 (OrderRingHom.toRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (f : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) f) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (α -> β) (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1))) (MulOneClass.toOne.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))) (MonoidHom.toOneHom.{u2, u1} α β (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (RingHom.toMonoidHom.{u2, u1} α β _inst_1 _inst_3 (OrderRingHom.toRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (f : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) f) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.to_fun_eq_coe OrderRingHom.toFun_eq_coeₓ'. -/
theorem toFun_eq_coe (f : α →+*o β) : f.toFun = ⇑f :=
rfl
@@ -201,7 +201,7 @@ theorem toFun_eq_coe (f : α →+*o β) : f.toFun = ⇑f :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] {f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4} {g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f g)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] {f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4} {g : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g a)) -> (Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) f g)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] {f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4} {g : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g a)) -> (Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) f g)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.ext OrderRingHom.extₓ'. -/
@[ext]
theorem ext {f g : α →+*o β} (h : ∀ a, f a = g a) : f = g :=
@@ -246,7 +246,7 @@ theorem toOrderMonoidWithZeroHom (f : α →+*o β) : f.toOrderMonoidWithZeroHom
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (fun (_x : RingHom.{u1, u2} α β _inst_1 _inst_3) => α -> β) (RingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_3) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_coe_ring_hom OrderRingHom.coe_coe_ringHomₓ'. -/
@[simp]
theorem coe_coe_ringHom (f : α →+*o β) : ⇑(f : α →+* β) = f :=
@@ -257,7 +257,7 @@ theorem coe_coe_ringHom (f : α →+*o β) : ⇑(f : α →+* β) = f :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (fun (_x : OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) => α -> β) (OrderAddMonoidHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (OrderAddMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderAddMonoidHom.instOrderAddMonoidHomClassOrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))))) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderAddMonoidHom.instOrderAddMonoidHomClassOrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))))) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_coe_order_add_monoid_hom OrderRingHom.coe_coe_orderAddMonoidHomₓ'. -/
@[simp]
theorem coe_coe_orderAddMonoidHom (f : α →+*o β) : ⇑(f : α →+o β) = f :=
@@ -268,7 +268,7 @@ theorem coe_coe_orderAddMonoidHom (f : α →+*o β) : ⇑(f : α →+o β) = f
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (OrderMonoidWithZeroHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))))) (OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))))) (OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_coe_order_monoid_with_zero_hom OrderRingHom.coe_coe_orderMonoidWithZeroHomₓ'. -/
@[simp]
theorem coe_coe_orderMonoidWithZeroHom (f : α →+*o β) : ⇑(f : α →*₀o β) = f :=
@@ -279,7 +279,7 @@ theorem coe_coe_orderMonoidWithZeroHom (f : α →+*o β) : ⇑(f : α →*₀o
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (fun (_x : RingHom.{u1, u2} α β _inst_1 _inst_3) => α -> β) (RingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_3) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_ring_hom_apply OrderRingHom.coe_ringHom_applyₓ'. -/
@[norm_cast]
theorem coe_ringHom_apply (f : α →+*o β) (a : α) : (f : α →+* β) a = f a :=
@@ -290,7 +290,7 @@ theorem coe_ringHom_apply (f : α →+*o β) (a : α) : (f : α →+* β) a = f
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (fun (_x : OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) => α -> β) (OrderAddMonoidHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (OrderAddMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderAddMonoidHom.instOrderAddMonoidHomClassOrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))))) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderAddMonoidHom.instOrderAddMonoidHomClassOrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))))) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_add_monoid_hom_apply OrderRingHom.coe_orderAddMonoidHom_applyₓ'. -/
@[norm_cast]
theorem coe_orderAddMonoidHom_apply (f : α →+*o β) (a : α) : (f : α →+o β) a = f a :=
@@ -301,7 +301,7 @@ theorem coe_orderAddMonoidHom_apply (f : α →+*o β) (a : α) : (f : α →+o
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (OrderMonoidWithZeroHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))))) (OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))))) (OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_monoid_with_zero_hom_apply OrderRingHom.coe_orderMonoidWithZeroHom_applyₓ'. -/
@[norm_cast]
theorem coe_orderMonoidWithZeroHom_apply (f : α →+*o β) (a : α) : (f : α →*₀o β) a = f a :=
@@ -312,7 +312,7 @@ theorem coe_orderMonoidWithZeroHom_apply (f : α →+*o β) (a : α) : (f : α
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.copy OrderRingHom.copyₓ'. -/
/-- Copy of a `order_ring_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
@@ -324,7 +324,7 @@ protected def copy (f : α →+*o β) (f' : α → β) (h : f' = f) : α →+*o
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h)) f'
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) (OrderRingHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h)) f'
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) (OrderRingHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h)) f'
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_copy OrderRingHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : α →+*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
@@ -335,7 +335,7 @@ theorem coe_copy (f : α →+*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)), Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h) f
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)), Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h) f
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)), Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h) f
Case conversion may be inaccurate. Consider using '#align order_ring_hom.copy_eq OrderRingHom.copy_eqₓ'. -/
theorem copy_eq (f : α →+*o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
@@ -357,7 +357,7 @@ instance : Inhabited (α →+*o α) :=
lean 3 declaration is
forall (α : Type.{u1}) [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (fun (_x : OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) => α -> α) (OrderRingHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (id.{succ u1} α)
but is expected to have type
- forall (α : Type.{u1}) [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (id.{succ u1} α)
+ forall (α : Type.{u1}) [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (id.{succ u1} α)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_id OrderRingHom.coe_idₓ'. -/
@[simp]
theorem coe_id : ⇑(OrderRingHom.id α) = id :=
@@ -370,7 +370,7 @@ variable {α}
lean 3 declaration is
forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (fun (_x : OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) => α -> α) (OrderRingHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHom.id.{u1} α _inst_1 _inst_2) a) a
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)))) (OrderRingHom.id.{u1} α _inst_1 _inst_2) a) a
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)))) (OrderRingHom.id.{u1} α _inst_1 _inst_2) a) a
Case conversion may be inaccurate. Consider using '#align order_ring_hom.id_apply OrderRingHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : OrderRingHom.id α a = a :=
@@ -422,7 +422,7 @@ protected def comp (f : β →+*o γ) (g : α →+*o β) : α →+*o γ :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] (f : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) => α -> γ) (OrderRingHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) => β -> γ) (OrderRingHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] (f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_2 _inst_6 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_1 _inst_2 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] (f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_2 _inst_6 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_1 _inst_2 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g))
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_comp OrderRingHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : β →+*o γ) (g : α →+*o β) : ⇑(f.comp g) = f ∘ g :=
@@ -433,7 +433,7 @@ theorem coe_comp (f : β →+*o γ) (g : α →+*o β) : ⇑(f.comp g) = f ∘ g
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] (f : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) => α -> γ) (OrderRingHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) => β -> γ) (OrderRingHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g a))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] (f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_2 _inst_6 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_1 _inst_2 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g a))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] (f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_2 _inst_6 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_1 _inst_2 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g a))
Case conversion may be inaccurate. Consider using '#align order_ring_hom.comp_apply OrderRingHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : β →+*o γ) (g : α →+*o β) (a : α) : f.comp g a = f (g a) :=
@@ -477,7 +477,7 @@ theorem id_comp (f : α →+*o β) : (OrderRingHom.id β).comp f = f :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] {f₁ : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6} {f₂ : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₁ g) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₂ g)) (Eq.{max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f₁ f₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] {f₁ : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {f₂ : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₁ g) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₂ g)) (Eq.{max (succ u3) (succ u2)} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) f₁ f₂))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] {f₁ : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {f₂ : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₁ g) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₂ g)) (Eq.{max (succ u3) (succ u2)} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) f₁ f₂))
Case conversion may be inaccurate. Consider using '#align order_ring_hom.cancel_right OrderRingHom.cancel_rightₓ'. -/
theorem cancel_right {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Surjective g) :
f₁.comp g = f₂.comp g ↔ f₁ = f₂ :=
@@ -488,7 +488,7 @@ theorem cancel_right {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Surject
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] {f : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g₁ : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4} {g₂ : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) => β -> γ) (OrderRingHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₁) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₂)) (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g₁ g₂))
but is expected to have type
- forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] {f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g₁ : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4} {g₂ : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₁) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₂)) (Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) g₁ g₂))
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] {f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g₁ : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4} {g₂ : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₁) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₂)) (Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) g₁ g₂))
Case conversion may be inaccurate. Consider using '#align order_ring_hom.cancel_left OrderRingHom.cancel_leftₓ'. -/
theorem cancel_left {f : β →+*o γ} {g₁ g₂ : α →+*o β} (hf : Injective f) :
f.comp g₁ = f.comp g₂ ↔ g₁ = g₂ :=
@@ -550,7 +550,7 @@ instance : CoeFun (α ≃+*o β) fun _ => α → β :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIso.toRingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 (OrderRingIso.toRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 (OrderRingIso.toRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_fun_eq_coe OrderRingIso.toFun_eq_coeₓ'. -/
theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
rfl
@@ -560,7 +560,7 @@ theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] {f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6} {g : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f g)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] {f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6} {g : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) g a)) -> (Eq.{max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) f g)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] {f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6} {g : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) g a)) -> (Eq.{max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) f g)
Case conversion may be inaccurate. Consider using '#align order_ring_iso.ext OrderRingIso.extₓ'. -/
@[ext]
theorem ext {f g : α ≃+*o β} (h : ∀ a, f a = g a) : f = g :=
@@ -571,7 +571,7 @@ theorem ext {f g : α ≃+*o β} (h : ∀ a, f a = g a) : f = g :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (e : RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (h : forall {a : α} {b : α}, Iff (LE.le.{u2} β _inst_6 (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 e a) (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 e b)) (LE.le.{u1} α _inst_3 a b)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderRingIso.mk.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (fun (_x : RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) => α -> β) (RingEquiv.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) e)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) (h : forall {a : α} {b : α}, Iff (LE.le.{u1} β _inst_6 (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 e) a) (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 e) b)) (LE.le.{u2} α _inst_3 a b)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (OrderRingIso.mk.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 e h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (MulEquivClass.toEquivLike.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_4 (RingEquivClass.toMulEquivClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_2 _inst_4 _inst_5 (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5))))) e)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) (h : forall {a : α} {b : α}, Iff (LE.le.{u1} β _inst_6 (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 e) a) (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 e) b)) (LE.le.{u2} α _inst_3 a b)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (OrderRingIso.mk.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 e h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (MulEquivClass.toEquivLike.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_4 (RingEquivClass.toMulEquivClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_2 _inst_4 _inst_5 (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5))))) e)
Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_mk OrderRingIso.coe_mkₓ'. -/
@[simp]
theorem coe_mk (e : α ≃+* β) (h) : ⇑(⟨e, h⟩ : α ≃+*o β) = e :=
@@ -615,7 +615,7 @@ theorem toOrderIso_eq_coe (f : α ≃+*o β) : f.toOrderIso = f :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (fun (_x : RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) => α -> β) (RingEquiv.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (RingEquiv.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (MulEquivClass.toEquivLike.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_4 (RingEquivClass.toMulEquivClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_2 _inst_4 _inst_5 (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5))))) (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (MulEquivClass.toEquivLike.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_4 (RingEquivClass.toMulEquivClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_2 _inst_4 _inst_5 (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5))))) (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_ring_equiv OrderRingIso.coe_toRingEquivₓ'. -/
@[simp, norm_cast]
theorem coe_toRingEquiv (f : α ≃+*o β) : ⇑(f : α ≃+* β) = f :=
@@ -626,7 +626,7 @@ theorem coe_toRingEquiv (f : α ≃+*o β) : ⇑(f : α ≃+* β) = f :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} α β _inst_3 _inst_6) (fun (_x : RelIso.{u1, u2} α β (LE.le.{u1} α _inst_3) (LE.le.{u2} β _inst_6)) => α -> β) (RelIso.hasCoeToFun.{u1, u2} α β (LE.le.{u1} α _inst_3) (LE.le.{u2} β _inst_6)) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (OrderIso.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderIso.{u2, u1} α β _inst_3 _inst_6) α (fun (_x : α) => β) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderIso.{u2, u1} α β _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (OrderIsoClass.toOrderIso.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderIso.{u2, u1} α β _inst_3 _inst_6) α (fun (_x : α) => β) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderIso.{u2, u1} α β _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (OrderIsoClass.toOrderIso.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_iso OrderRingIso.coe_toOrderIsoₓ'. -/
@[simp, norm_cast]
theorem coe_toOrderIso (f : α ≃+*o β) : ⇑(f : α ≃o β) = f :=
@@ -732,7 +732,7 @@ protected def trans (f : α ≃+*o β) (g : β ≃+*o γ) : α ≃+*o γ :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] [_inst_7 : Mul.{u3} γ] [_inst_8 : Add.{u3} γ] [_inst_9 : LE.{u3} γ] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingIso.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderRingIso.{u1, u3} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9) (fun (_x : OrderRingIso.{u1, u3} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9) => α -> γ) (OrderRingIso.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9) (OrderRingIso.trans.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingIso.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) (fun (_x : OrderRingIso.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) => β -> γ) (OrderRingIso.hasCoeToFun.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f a))
but is expected to have type
- forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Mul.{u3} α] [_inst_2 : Add.{u3} α] [_inst_3 : LE.{u3} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] [_inst_7 : Mul.{u1} γ] [_inst_8 : Add.{u1} γ] [_inst_9 : LE.{u1} γ] (f : OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (g : OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) a) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) _x) (RelHomClass.toFunLike.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u3} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u1} γ _inst_9 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ _inst_3 _inst_9 (OrderRingIsoClass.toOrderIsoClass.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u3, u1} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9)))) (OrderRingIso.trans.{u3, u2, u1} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f g) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u2} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u1} γ _inst_9 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ _inst_6 _inst_9 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9)))) g (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u3} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u2} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u3, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f a))
+ forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Mul.{u3} α] [_inst_2 : Add.{u3} α] [_inst_3 : LE.{u3} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] [_inst_7 : Mul.{u1} γ] [_inst_8 : Add.{u1} γ] [_inst_9 : LE.{u1} γ] (f : OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (g : OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u3} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u1} γ _inst_9 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ _inst_3 _inst_9 (OrderRingIsoClass.toOrderIsoClass.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u3, u1} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9)))) (OrderRingIso.trans.{u3, u2, u1} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f g) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u2} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : γ) => LE.le.{u1} γ _inst_9 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ _inst_6 _inst_9 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9)))) g (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u3} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u2} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderIsoClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u3, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f a))
Case conversion may be inaccurate. Consider using '#align order_ring_iso.trans_apply OrderRingIso.trans_applyₓ'. -/
@[simp]
theorem trans_apply (f : α ≃+*o β) (g : β ≃+*o γ) (a : α) : f.trans g a = g (f a) :=
@@ -805,7 +805,7 @@ theorem toOrderRingHom_eq_coe (f : α ≃+*o β) : f.toOrderRingHom = f :=
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.orderRingIsoClass.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (fun (_x : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) (OrderRingHomClass.toOrderRingHom.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4))) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4)))))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) (OrderRingHomClass.toOrderRingHom.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4))) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1924 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4)))))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_ring_hom OrderRingIso.coe_toOrderRingHomₓ'. -/
@[simp, norm_cast]
theorem coe_toOrderRingHom (f : α ≃+*o β) : ⇑(f : α →+*o β) = f :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -128,7 +128,7 @@ instance (priority := 100) OrderRingIsoClass.toOrderIsoClass [Mul α] [Add α] [
/- warning: order_ring_iso_class.to_order_ring_hom_class -> OrderRingIsoClass.toOrderRingHomClass is a dubious translation:
lean 3 declaration is
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : OrderRingIsoClass.{u1, u2, u3} F α β (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toHasAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Distrib.toHasAdd.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Preorder.toLE.{u3} β _inst_4)], OrderRingHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : OrderRingIsoClass.{u1, u2, u3} F α β (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toHasAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toHasLe.{u2} α _inst_2) (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Distrib.toHasAdd.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Preorder.toHasLe.{u3} β _inst_4)], OrderRingHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4
but is expected to have type
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : OrderRingIsoClass.{u1, u2, u3} F α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3)) (Distrib.toAdd.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Preorder.toLE.{u3} β _inst_4)], OrderRingHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4
Case conversion may be inaccurate. Consider using '#align order_ring_iso_class.to_order_ring_hom_class OrderRingIsoClass.toOrderRingHomClassₓ'. -/
@@ -781,7 +781,7 @@ variable [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β]
/- warning: order_ring_iso.to_order_ring_hom -> OrderRingIso.toOrderRingHom is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
but is expected to have type
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], (OrderRingIso.{u1, u2} α β (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u1} α _inst_2) (Preorder.toLE.{u2} β _inst_4)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_ring_hom OrderRingIso.toOrderRingHomₓ'. -/
@@ -792,7 +792,7 @@ def toOrderRingHom (f : α ≃+*o β) : α →+*o β :=
/- warning: order_ring_iso.to_order_ring_hom_eq_coe -> OrderRingIso.toOrderRingHom_eq_coe is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)), Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.orderRingIsoClass.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)))))) f)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)), Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.orderRingIsoClass.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)))))) f)
but is expected to have type
forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)), Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f) (OrderRingHomClass.toOrderRingHom.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_ring_hom_eq_coe OrderRingIso.toOrderRingHom_eq_coeₓ'. -/
@@ -803,7 +803,7 @@ theorem toOrderRingHom_eq_coe (f : α ≃+*o β) : f.toOrderRingHom = f :=
/- warning: order_ring_iso.coe_to_order_ring_hom -> OrderRingIso.coe_toOrderRingHom is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.orderRingIsoClass.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (fun (_x : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) f)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.orderRingIsoClass.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (fun (_x : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) f)
but is expected to have type
forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) (OrderRingHomClass.toOrderRingHom.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4))) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4)))))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_ring_hom OrderRingIso.coe_toOrderRingHomₓ'. -/
@@ -814,7 +814,7 @@ theorem coe_toOrderRingHom (f : α ≃+*o β) : ⇑(f : α →+*o β) = f :=
/- warning: order_ring_iso.coe_to_order_ring_hom_refl -> OrderRingIso.coe_toOrderRingHom_refl is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (HasLiftT.mk.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHom.hasCoeT.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIsoClass.toOrderRingHomClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIso.orderRingIsoClass.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)))))) (OrderRingIso.refl.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (HasLiftT.mk.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHom.hasCoeT.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIsoClass.toOrderRingHomClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIso.orderRingIsoClass.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2)))))) (OrderRingIso.refl.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)
but is expected to have type
forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHomClass.toOrderRingHom.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Preorder.toLE.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIsoClass.toOrderRingHomClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Preorder.toLE.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u1, u1} α α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2))) (OrderRingIso.refl.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)
Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_ring_hom_refl OrderRingIso.coe_toOrderRingHom_reflₓ'. -/
@@ -825,7 +825,7 @@ theorem coe_toOrderRingHom_refl : (OrderRingIso.refl α : α →+*o α) = OrderR
/- warning: order_ring_iso.to_order_ring_hom_injective -> OrderRingIso.toOrderRingHom_injective is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], Function.Injective.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], Function.Injective.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toHasLe.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toHasLe.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
but is expected to have type
forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)
Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_ring_hom_injective OrderRingIso.toOrderRingHom_injectiveₓ'. -/
@@ -867,7 +867,7 @@ instance OrderRingHom.subsingleton [LinearOrderedField α] [LinearOrderedField
/- warning: order_ring_iso.subsingleton_right -> OrderRingIso.subsingleton_right is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : LinearOrderedField.{u2} β] [_inst_3 : Archimedean.{u2} β (OrderedSemiring.toOrderedAddCommMonoid.{u2} β (StrictOrderedSemiring.toOrderedSemiring.{u2} β (StrictOrderedRing.toStrictOrderedSemiring.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_2))))))], Subsingleton.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (Distrib.toHasMul.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2))))) (Distrib.toHasAdd.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommGroup.toPartialOrder.{u2} β (StrictOrderedRing.toOrderedAddCommGroup.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_2))))))))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : LinearOrderedField.{u2} β] [_inst_3 : Archimedean.{u2} β (OrderedSemiring.toOrderedAddCommMonoid.{u2} β (StrictOrderedSemiring.toOrderedSemiring.{u2} β (StrictOrderedRing.toStrictOrderedSemiring.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_2))))))], Subsingleton.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (Distrib.toHasMul.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2))))) (Distrib.toHasAdd.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2))))) (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommGroup.toPartialOrder.{u2} β (StrictOrderedRing.toOrderedAddCommGroup.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_2))))))))
but is expected to have type
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : LinearOrderedField.{u2} β] [_inst_3 : Archimedean.{u2} β (OrderedSemiring.toOrderedAddCommMonoid.{u2} β (OrderedCommSemiring.toOrderedSemiring.{u2} β (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} β (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} β (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} β (LinearOrderedField.toLinearOrderedSemifield.{u2} β _inst_2))))))], Subsingleton.{max (succ u2) (succ u1)} (OrderRingIso.{u1, u2} α β (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))) (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2)))))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (Distrib.toAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2)))))))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (StrictOrderedRing.toPartialOrder.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_2)))))))
Case conversion may be inaccurate. Consider using '#align order_ring_iso.subsingleton_right OrderRingIso.subsingleton_rightₓ'. -/
@@ -880,7 +880,7 @@ instance OrderRingIso.subsingleton_right [LinearOrderedField α] [LinearOrderedF
/- warning: order_ring_iso.subsingleton_left -> OrderRingIso.subsingleton_left is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Archimedean.{u1} α (OrderedSemiring.toOrderedAddCommMonoid.{u1} α (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))] [_inst_3 : LinearOrderedField.{u2} β], Subsingleton.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (Distrib.toHasMul.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3))))) (Distrib.toHasAdd.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommGroup.toPartialOrder.{u2} β (StrictOrderedRing.toOrderedAddCommGroup.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_3))))))))
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Archimedean.{u1} α (OrderedSemiring.toOrderedAddCommMonoid.{u1} α (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))] [_inst_3 : LinearOrderedField.{u2} β], Subsingleton.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (Distrib.toHasMul.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3))))) (Distrib.toHasAdd.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3))))) (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommGroup.toPartialOrder.{u2} β (StrictOrderedRing.toOrderedAddCommGroup.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_3))))))))
but is expected to have type
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Archimedean.{u1} α (OrderedSemiring.toOrderedAddCommMonoid.{u1} α (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))))] [_inst_3 : LinearOrderedField.{u2} β], Subsingleton.{max (succ u2) (succ u1)} (OrderRingIso.{u1, u2} α β (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))) (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3)))))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (Distrib.toAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3)))))))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (StrictOrderedRing.toPartialOrder.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_3)))))))
Case conversion may be inaccurate. Consider using '#align order_ring_iso.subsingleton_left OrderRingIso.subsingleton_leftₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/347636a7a80595d55bedf6e6fbd996a3c39da69a
@@ -130,7 +130,7 @@ instance (priority := 100) OrderRingIsoClass.toOrderIsoClass [Mul α] [Add α] [
lean 3 declaration is
forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : OrderRingIsoClass.{u1, u2, u3} F α β (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toHasAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Distrib.toHasAdd.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Preorder.toLE.{u3} β _inst_4)], OrderRingHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4
but is expected to have type
- forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : NonAssocSemiring.{u2} α} {_inst_2 : Preorder.{u2} α} {_inst_3 : NonAssocSemiring.{u3} β} {_inst_4 : Preorder.{u3} β} [_inst_5 : OrderRingIsoClass.{u1, u2, u3} F α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3)) (Distrib.toAdd.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Preorder.toLE.{u3} β _inst_4)], OrderRingHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : OrderRingIsoClass.{u1, u2, u3} F α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3)) (Distrib.toAdd.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Preorder.toLE.{u3} β _inst_4)], OrderRingHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4
Case conversion may be inaccurate. Consider using '#align order_ring_iso_class.to_order_ring_hom_class OrderRingIsoClass.toOrderRingHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) OrderRingIsoClass.toOrderRingHomClass [NonAssocSemiring α] [Preorder α]
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -246,7 +246,7 @@ theorem toOrderMonoidWithZeroHom (f : α →+*o β) : f.toOrderMonoidWithZeroHom
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (fun (_x : RingHom.{u1, u2} α β _inst_1 _inst_3) => α -> β) (RingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_3) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_coe_ring_hom OrderRingHom.coe_coe_ringHomₓ'. -/
@[simp]
theorem coe_coe_ringHom (f : α →+*o β) : ⇑(f : α →+* β) = f :=
@@ -279,7 +279,7 @@ theorem coe_coe_orderMonoidWithZeroHom (f : α →+*o β) : ⇑(f : α →*₀o
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (fun (_x : RingHom.{u1, u2} α β _inst_1 _inst_3) => α -> β) (RingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_3) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_ring_hom_apply OrderRingHom.coe_ringHom_applyₓ'. -/
@[norm_cast]
theorem coe_ringHom_apply (f : α →+*o β) (a : α) : (f : α →+* β) a = f a :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/38f16f960f5006c6c0c2bac7b0aba5273188f4e5
@@ -246,7 +246,7 @@ theorem toOrderMonoidWithZeroHom (f : α →+*o β) : f.toOrderMonoidWithZeroHom
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (fun (_x : RingHom.{u1, u2} α β _inst_1 _inst_3) => α -> β) (RingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_3) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_coe_ring_hom OrderRingHom.coe_coe_ringHomₓ'. -/
@[simp]
theorem coe_coe_ringHom (f : α →+*o β) : ⇑(f : α →+* β) = f :=
@@ -279,7 +279,7 @@ theorem coe_coe_orderMonoidWithZeroHom (f : α →+*o β) : ⇑(f : α →*₀o
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (fun (_x : RingHom.{u1, u2} α β _inst_1 _inst_3) => α -> β) (RingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_3) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a)
but is expected to have type
- forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_ring_hom_apply OrderRingHom.coe_ringHom_applyₓ'. -/
@[norm_cast]
theorem coe_ringHom_apply (f : α →+*o β) (a : α) : (f : α →+* β) a = f a :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/195fcd60ff2bfe392543bceb0ec2adcdb472db4c
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Alex J. Best, Yaël Dillies
! This file was ported from Lean 3 source module algebra.order.hom.ring
-! leanprover-community/mathlib commit 92ca63f0fb391a9ca5f22d2409a6080e786d99f7
+! leanprover-community/mathlib commit ee05e9ce1322178f0c12004eb93c00d2c8c00ed2
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -18,6 +18,9 @@ import Mathbin.Tactic.Wlog
/-!
# 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
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -691,16 +691,16 @@ protected def symm (e : α ≃+*o β) : β ≃+*o α :=
erw [← map_le_map_iff e, e.1.apply_symm_apply, e.1.apply_symm_apply]⟩
#align order_ring_iso.symm OrderRingIso.symm
-/- warning: order_ring_iso.simps.symm_apply -> OrderRingIso.Simps.symmApply is a dubious translation:
+/- warning: order_ring_iso.simps.symm_apply -> OrderRingIso.Simps.symm_apply is a dubious translation:
lean 3 declaration is
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) -> β -> α
but is expected to have type
forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) -> β -> α
-Case conversion may be inaccurate. Consider using '#align order_ring_iso.simps.symm_apply OrderRingIso.Simps.symmApplyₓ'. -/
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.simps.symm_apply OrderRingIso.Simps.symm_applyₓ'. -/
/-- See Note [custom simps projection] -/
-def Simps.symmApply (e : α ≃+*o β) : β → α :=
+def Simps.symm_apply (e : α ≃+*o β) : β → α :=
e.symm
-#align order_ring_iso.simps.symm_apply OrderRingIso.Simps.symmApply
+#align order_ring_iso.simps.symm_apply OrderRingIso.Simps.symm_apply
/- warning: order_ring_iso.symm_symm -> OrderRingIso.symm_symm is a dubious translation:
lean 3 declaration is
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -40,6 +40,7 @@ open Function
variable {F α β γ δ : Type _}
+#print OrderRingHom /-
/-- `order_ring_hom α β` is the type of monotone semiring homomorphisms from `α` to `β`.
When possible, instead of parametrizing results over `(f : order_ring_hom α β)`,
@@ -50,6 +51,7 @@ structure OrderRingHom (α β : Type _) [NonAssocSemiring α] [Preorder α] [Non
[Preorder β] extends α →+* β where
monotone' : Monotone to_fun
#align order_ring_hom OrderRingHom
+-/
/-- Reinterpret an ordered ring homomorphism as a ring homomorphism. -/
add_decl_doc OrderRingHom.toRingHom
@@ -57,6 +59,12 @@ add_decl_doc OrderRingHom.toRingHom
-- mathport name: «expr →+*o »
infixl:25 " →+*o " => OrderRingHom
+/- warning: order_ring_iso -> OrderRingIso is a dubious translation:
+lean 3 declaration is
+ forall (α : Type.{u1}) (β : Type.{u2}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], Sort.{max (succ u1) (succ u2)}
+but is expected to have type
+ forall (α : Type.{u1}) (β : Type.{u2}) [_inst_1 : Mul.{u1} α] [_inst_2 : Mul.{u2} β] [_inst_3 : Add.{u1} α] [_inst_4 : Add.{u2} β] [_inst_5 : LE.{u1} α] [_inst_6 : LE.{u2} β], Sort.{max (succ u1) (succ u2)}
+Case conversion may be inaccurate. Consider using '#align order_ring_iso OrderRingIsoₓ'. -/
/-- `order_ring_hom α β` is the type of order-preserving semiring isomorphisms between `α` and `β`.
When possible, instead of parametrizing results over `(f : order_ring_iso α β)`,
@@ -71,40 +79,56 @@ structure OrderRingIso (α β : Type _) [Mul α] [Add α] [LE α] [Mul β] [Add
-- mathport name: «expr ≃+*o »
infixl:25 " ≃+*o " => OrderRingIso
+#print OrderRingHomClass /-
/-- `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`. -/
class OrderRingHomClass (F : Type _) (α β : outParam <| Type _) [NonAssocSemiring α] [Preorder α]
[NonAssocSemiring β] [Preorder β] extends RingHomClass F α β where
Monotone (f : F) : Monotone f
#align order_ring_hom_class OrderRingHomClass
+-/
+#print OrderRingIsoClass /-
/-- `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`. -/
class OrderRingIsoClass (F : Type _) (α β : outParam (Type _)) [Mul α] [Add α] [LE α] [Mul β]
[Add β] [LE β] extends RingEquivClass F α β where
map_le_map_iff (f : F) {a b : α} : f a ≤ f b ↔ a ≤ b
#align order_ring_iso_class OrderRingIsoClass
+-/
+#print OrderRingHomClass.toOrderAddMonoidHomClass /-
-- See note [lower priority instance]
instance (priority := 100) OrderRingHomClass.toOrderAddMonoidHomClass [NonAssocSemiring α]
[Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingHomClass F α β] :
OrderAddMonoidHomClass F α β :=
{ ‹OrderRingHomClass F α β› with }
#align order_ring_hom_class.to_order_add_monoid_hom_class OrderRingHomClass.toOrderAddMonoidHomClass
+-/
+#print OrderRingHomClass.toOrderMonoidWithZeroHomClass /-
-- See note [lower priority instance]
instance (priority := 100) OrderRingHomClass.toOrderMonoidWithZeroHomClass [NonAssocSemiring α]
[Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingHomClass F α β] :
OrderMonoidWithZeroHomClass F α β :=
{ ‹OrderRingHomClass F α β› with }
#align order_ring_hom_class.to_order_monoid_with_zero_hom_class OrderRingHomClass.toOrderMonoidWithZeroHomClass
+-/
+#print OrderRingIsoClass.toOrderIsoClass /-
-- See note [lower instance priority]
instance (priority := 100) OrderRingIsoClass.toOrderIsoClass [Mul α] [Add α] [LE α] [Mul β] [Add β]
[LE β] [OrderRingIsoClass F α β] : OrderIsoClass F α β :=
{ ‹OrderRingIsoClass F α β› with }
#align order_ring_iso_class.to_order_iso_class OrderRingIsoClass.toOrderIsoClass
+-/
+/- warning: order_ring_iso_class.to_order_ring_hom_class -> OrderRingIsoClass.toOrderRingHomClass is a dubious translation:
+lean 3 declaration is
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : OrderRingIsoClass.{u1, u2, u3} F α β (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toHasAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Distrib.toHasAdd.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Preorder.toLE.{u3} β _inst_4)], OrderRingHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4
+but is expected to have type
+ forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : NonAssocSemiring.{u2} α} {_inst_2 : Preorder.{u2} α} {_inst_3 : NonAssocSemiring.{u3} β} {_inst_4 : Preorder.{u3} β} [_inst_5 : OrderRingIsoClass.{u1, u2, u3} F α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3)) (Distrib.toAdd.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β _inst_3))) (Preorder.toLE.{u3} β _inst_4)], OrderRingHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4
+Case conversion may be inaccurate. Consider using '#align order_ring_iso_class.to_order_ring_hom_class OrderRingIsoClass.toOrderRingHomClassₓ'. -/
-- See note [lower instance priority]
instance (priority := 100) OrderRingIsoClass.toOrderRingHomClass [NonAssocSemiring α] [Preorder α]
[NonAssocSemiring β] [Preorder β] [OrderRingIsoClass F α β] : OrderRingHomClass F α β :=
@@ -131,15 +155,19 @@ section Preorder
variable [NonAssocSemiring β] [Preorder β] [NonAssocSemiring γ] [Preorder γ] [NonAssocSemiring δ]
[Preorder δ]
+#print OrderRingHom.toOrderAddMonoidHom /-
/-- Reinterpret an ordered ring homomorphism as an ordered additive monoid homomorphism. -/
def toOrderAddMonoidHom (f : α →+*o β) : α →+o β :=
{ f with }
#align order_ring_hom.to_order_add_monoid_hom OrderRingHom.toOrderAddMonoidHom
+-/
+#print OrderRingHom.toOrderMonoidWithZeroHom /-
/-- Reinterpret an ordered ring homomorphism as an order homomorphism. -/
def toOrderMonoidWithZeroHom (f : α →+*o β) : α →*₀o β :=
{ f with }
#align order_ring_hom.to_order_monoid_with_zero_hom OrderRingHom.toOrderMonoidWithZeroHom
+-/
instance : OrderRingHomClass (α →+*o β) α β
where
@@ -156,85 +184,178 @@ directly. -/
instance : CoeFun (α →+*o β) fun _ => α → β :=
⟨fun f => f.toFun⟩
+/- warning: order_ring_hom.to_fun_eq_coe -> OrderRingHom.toFun_eq_coe is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (RingHom.toFun.{u1, u2} α β _inst_1 _inst_3 (OrderRingHom.toRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (α -> β) (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1))) (MulOneClass.toOne.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))) (MonoidHom.toOneHom.{u2, u1} α β (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (RingHom.toMonoidHom.{u2, u1} α β _inst_1 _inst_3 (OrderRingHom.toRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (f : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) f) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.to_fun_eq_coe OrderRingHom.toFun_eq_coeₓ'. -/
theorem toFun_eq_coe (f : α →+*o β) : f.toFun = ⇑f :=
rfl
#align order_ring_hom.to_fun_eq_coe OrderRingHom.toFun_eq_coe
+/- warning: order_ring_hom.ext -> OrderRingHom.ext is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] {f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4} {g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f g)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] {f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4} {g : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g a)) -> (Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) f g)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.ext OrderRingHom.extₓ'. -/
@[ext]
theorem ext {f g : α →+*o β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align order_ring_hom.ext OrderRingHom.ext
+/- warning: order_ring_hom.to_ring_hom_eq_coe -> OrderRingHom.toRingHom_eq_coe is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (OrderRingHom.toRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (RingHom.{u2, u1} α β _inst_1 _inst_3) (OrderRingHom.toRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.to_ring_hom_eq_coe OrderRingHom.toRingHom_eq_coeₓ'. -/
@[simp]
theorem toRingHom_eq_coe (f : α →+*o β) : f.toRingHom = f :=
RingHom.ext fun _ => rfl
#align order_ring_hom.to_ring_hom_eq_coe OrderRingHom.toRingHom_eq_coe
+/- warning: order_ring_hom.to_order_add_monoid_hom_eq_coe -> OrderRingHom.toOrderAddMonoidHom_eq_coe is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (OrderRingHom.toOrderAddMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (OrderAddMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) (OrderRingHom.toOrderAddMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.to_order_add_monoid_hom_eq_coe OrderRingHom.toOrderAddMonoidHom_eq_coeₓ'. -/
@[simp]
theorem toOrderAddMonoidHom_eq_coe (f : α →+*o β) : f.toOrderAddMonoidHom = f :=
rfl
#align order_ring_hom.to_order_add_monoid_hom_eq_coe OrderRingHom.toOrderAddMonoidHom_eq_coe
+/- warning: order_ring_hom.to_order_monoid_with_zero_hom_eq_coe clashes with order_ring_hom.to_order_monoid_with_zero_hom -> OrderRingHom.toOrderMonoidWithZeroHom
+warning: order_ring_hom.to_order_monoid_with_zero_hom_eq_coe -> OrderRingHom.toOrderMonoidWithZeroHom is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (OrderRingHom.toOrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (OrderMonoidWithZeroHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) -> (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3))
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.to_order_monoid_with_zero_hom_eq_coe OrderRingHom.toOrderMonoidWithZeroHomₓ'. -/
@[simp]
-theorem toOrderMonoidWithZeroHom_eq_coe (f : α →+*o β) : f.toOrderMonoidWithZeroHom = f :=
+theorem toOrderMonoidWithZeroHom (f : α →+*o β) : f.toOrderMonoidWithZeroHom = f :=
rfl
-#align order_ring_hom.to_order_monoid_with_zero_hom_eq_coe OrderRingHom.toOrderMonoidWithZeroHom_eq_coe
-
+#align order_ring_hom.to_order_monoid_with_zero_hom_eq_coe OrderRingHom.toOrderMonoidWithZeroHom
+
+/- warning: order_ring_hom.coe_coe_ring_hom -> OrderRingHom.coe_coe_ringHom is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (fun (_x : RingHom.{u1, u2} α β _inst_1 _inst_3) => α -> β) (RingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_3) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_coe_ring_hom OrderRingHom.coe_coe_ringHomₓ'. -/
@[simp]
theorem coe_coe_ringHom (f : α →+*o β) : ⇑(f : α →+* β) = f :=
rfl
#align order_ring_hom.coe_coe_ring_hom OrderRingHom.coe_coe_ringHom
+/- warning: order_ring_hom.coe_coe_order_add_monoid_hom -> OrderRingHom.coe_coe_orderAddMonoidHom is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (fun (_x : OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) => α -> β) (OrderAddMonoidHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (OrderAddMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderAddMonoidHom.instOrderAddMonoidHomClassOrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))))) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_coe_order_add_monoid_hom OrderRingHom.coe_coe_orderAddMonoidHomₓ'. -/
@[simp]
theorem coe_coe_orderAddMonoidHom (f : α →+*o β) : ⇑(f : α →+o β) = f :=
rfl
#align order_ring_hom.coe_coe_order_add_monoid_hom OrderRingHom.coe_coe_orderAddMonoidHom
+/- warning: order_ring_hom.coe_coe_order_monoid_with_zero_hom -> OrderRingHom.coe_coe_orderMonoidWithZeroHom is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (OrderMonoidWithZeroHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))))) (OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_coe_order_monoid_with_zero_hom OrderRingHom.coe_coe_orderMonoidWithZeroHomₓ'. -/
@[simp]
theorem coe_coe_orderMonoidWithZeroHom (f : α →+*o β) : ⇑(f : α →*₀o β) = f :=
rfl
#align order_ring_hom.coe_coe_order_monoid_with_zero_hom OrderRingHom.coe_coe_orderMonoidWithZeroHom
+/- warning: order_ring_hom.coe_ring_hom_apply -> OrderRingHom.coe_ringHom_apply is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} α β _inst_1 _inst_3) (fun (_x : RingHom.{u1, u2} α β _inst_1 _inst_3) => α -> β) (RingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_3) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (RingHom.{u1, u2} α β _inst_1 _inst_3) (RingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} α β _inst_1 _inst_3) α β _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} α β _inst_1 _inst_3)))) (RingHomClass.toRingHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_3 (OrderRingHomClass.toRingHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_ring_hom_apply OrderRingHom.coe_ringHom_applyₓ'. -/
@[norm_cast]
theorem coe_ringHom_apply (f : α →+*o β) (a : α) : (f : α →+* β) a = f a :=
rfl
#align order_ring_hom.coe_ring_hom_apply OrderRingHom.coe_ringHom_apply
+/- warning: order_ring_hom.coe_order_add_monoid_hom_apply -> OrderRingHom.coe_orderAddMonoidHom_apply is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (fun (_x : OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) => α -> β) (OrderAddMonoidHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderAddMonoidHom.{u1, u2} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3))))) (OrderAddMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderAddMonoidHom.instOrderAddMonoidHomClassOrderAddMonoidHom.{u2, u1} α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3))))))) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_add_monoid_hom_apply OrderRingHom.coe_orderAddMonoidHom_applyₓ'. -/
@[norm_cast]
theorem coe_orderAddMonoidHom_apply (f : α →+*o β) (a : α) : (f : α →+o β) a = f a :=
rfl
#align order_ring_hom.coe_order_add_monoid_hom_apply OrderRingHom.coe_orderAddMonoidHom_apply
+/- warning: order_ring_hom.coe_order_monoid_with_zero_hom_apply -> OrderRingHom.coe_orderMonoidWithZeroHom_apply is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3)) (OrderMonoidWithZeroHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u2} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.orderRingHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4))))) f) a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f a)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (MulZeroOneClass.toMulOneClass.{u2} α (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1)) (MulZeroOneClass.toMulOneClass.{u1} β (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3)) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3))))) (OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (NonAssocSemiring.toMulZeroOneClass.{u2} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} β _inst_3) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)) f) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f a)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_monoid_with_zero_hom_apply OrderRingHom.coe_orderMonoidWithZeroHom_applyₓ'. -/
@[norm_cast]
theorem coe_orderMonoidWithZeroHom_apply (f : α →+*o β) (a : α) : (f : α →*₀o β) a = f a :=
rfl
#align order_ring_hom.coe_order_monoid_with_zero_hom_apply OrderRingHom.coe_orderMonoidWithZeroHom_apply
+/- warning: order_ring_hom.copy -> OrderRingHom.copy is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} β (AddMonoidWithOne.toAddMonoid.{u2} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} β (NonAssocSemiring.toAddCommMonoidWithOne.{u2} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.copy OrderRingHom.copyₓ'. -/
/-- Copy of a `order_ring_hom` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : α →+*o β) (f' : α → β) (h : f' = f) : α →+*o β :=
{ f.toRingHom.copy f' h, f.toOrderAddMonoidHom.copy f' h with }
#align order_ring_hom.copy OrderRingHom.copy
+/- warning: order_ring_hom.coe_copy -> OrderRingHom.coe_copy is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h)) f'
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) (OrderRingHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h)) f'
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_copy OrderRingHom.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : α →+*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
rfl
#align order_ring_hom.coe_copy OrderRingHom.coe_copy
+/- warning: order_ring_hom.copy_eq -> OrderRingHom.copy_eq is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) f)), Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h) f
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) f)), Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f f' h) f
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.copy_eq OrderRingHom.copy_eqₓ'. -/
theorem copy_eq (f : α →+*o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
FunLike.ext' h
#align order_ring_hom.copy_eq OrderRingHom.copy_eq
variable (α)
+#print OrderRingHom.id /-
/-- The identity as an ordered ring homomorphism. -/
protected def id : α →+*o α :=
{ RingHom.id _, OrderHom.id with }
#align order_ring_hom.id OrderRingHom.id
+-/
instance : Inhabited (α →+*o α) :=
⟨OrderRingHom.id α⟩
+/- warning: order_ring_hom.coe_id -> OrderRingHom.coe_id is a dubious translation:
+lean 3 declaration is
+ forall (α : Type.{u1}) [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (fun (_x : OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) => α -> α) (OrderRingHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (id.{succ u1} α)
+but is expected to have type
+ forall (α : Type.{u1}) [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (id.{succ u1} α)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_id OrderRingHom.coe_idₓ'. -/
@[simp]
theorem coe_id : ⇑(OrderRingHom.id α) = id :=
rfl
@@ -242,62 +363,130 @@ theorem coe_id : ⇑(OrderRingHom.id α) = id :=
variable {α}
+/- warning: order_ring_hom.id_apply -> OrderRingHom.id_apply is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] (a : α), Eq.{succ u1} α (coeFn.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (fun (_x : OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) => α -> α) (OrderRingHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHom.id.{u1} α _inst_1 _inst_2) a) a
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) a) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)))) (OrderRingHom.id.{u1} α _inst_1 _inst_2) a) a
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.id_apply OrderRingHom.id_applyₓ'. -/
@[simp]
theorem id_apply (a : α) : OrderRingHom.id α a = a :=
rfl
#align order_ring_hom.id_apply OrderRingHom.id_apply
+/- warning: order_ring_hom.coe_ring_hom_id -> OrderRingHom.coe_RingHom_id is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (RingHom.{u1, u1} α α _inst_1 _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (RingHom.{u1, u1} α α _inst_1 _inst_1) (HasLiftT.mk.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (RingHom.{u1, u1} α α _inst_1 _inst_1) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (RingHom.{u1, u1} α α _inst_1 _inst_1) (RingHom.hasCoeT.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_1 (OrderRingHomClass.toRingHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.orderRingHomClass.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2))))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (RingHom.id.{u1} α _inst_1)
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (RingHom.{u1, u1} α α _inst_1 _inst_1) (RingHomClass.toRingHom.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_1 (OrderRingHomClass.toRingHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (RingHom.id.{u1} α _inst_1)
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_ring_hom_id OrderRingHom.coe_RingHom_idₓ'. -/
@[simp]
-theorem coe_ringHom_id : (OrderRingHom.id α : α →+* α) = RingHom.id α :=
+theorem coe_RingHom_id : (OrderRingHom.id α : α →+* α) = RingHom.id α :=
rfl
-#align order_ring_hom.coe_ring_hom_id OrderRingHom.coe_ringHom_id
-
+#align order_ring_hom.coe_ring_hom_id OrderRingHom.coe_RingHom_id
+
+/- warning: order_ring_hom.coe_order_add_monoid_hom_id -> OrderRingHom.coe_OrderAddMonoidHom_id is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderAddMonoidHom.{u1, u1} α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderAddMonoidHom.{u1, u1} α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1))))) (HasLiftT.mk.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderAddMonoidHom.{u1, u1} α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1))))) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderAddMonoidHom.{u1, u1} α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1))))) (OrderAddMonoidHom.hasCoeT.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.orderRingHomClass.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2))))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (OrderAddMonoidHom.id.{u1} α _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))))
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderAddMonoidHom.{u1, u1} α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1))))) (OrderAddMonoidHomClass.toOrderAddMonoidHom.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (OrderAddMonoidHom.id.{u1} α _inst_2 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_add_monoid_hom_id OrderRingHom.coe_OrderAddMonoidHom_idₓ'. -/
@[simp]
-theorem coe_orderAddMonoidHom_id : (OrderRingHom.id α : α →+o α) = OrderAddMonoidHom.id α :=
+theorem coe_OrderAddMonoidHom_id : (OrderRingHom.id α : α →+o α) = OrderAddMonoidHom.id α :=
rfl
-#align order_ring_hom.coe_order_add_monoid_hom_id OrderRingHom.coe_orderAddMonoidHom_id
-
+#align order_ring_hom.coe_order_add_monoid_hom_id OrderRingHom.coe_OrderAddMonoidHom_id
+
+/- warning: order_ring_hom.coe_order_monoid_with_zero_hom_id -> OrderRingHom.coe_OrderMonoidWithZeroHom_id is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderMonoidWithZeroHom.{u1, u1} α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1)) (HasLiftT.mk.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderMonoidWithZeroHom.{u1, u1} α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1)) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderMonoidWithZeroHom.{u1, u1} α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1)) (OrderMonoidWithZeroHom.hasCoeT.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.orderRingHomClass.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2))))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (OrderMonoidWithZeroHom.id.{u1} α _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1))
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1)) (OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_2 _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1) (OrderRingHomClass.toOrderMonoidWithZeroHomClass.{u1, u1, u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2)) (OrderRingHom.id.{u1} α _inst_1 _inst_2)) (OrderMonoidWithZeroHom.id.{u1} α _inst_2 (NonAssocSemiring.toMulZeroOneClass.{u1} α _inst_1))
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_order_monoid_with_zero_hom_id OrderRingHom.coe_OrderMonoidWithZeroHom_idₓ'. -/
@[simp]
-theorem coe_orderMonoidWithZeroHom_id :
+theorem coe_OrderMonoidWithZeroHom_id :
(OrderRingHom.id α : α →*₀o α) = OrderMonoidWithZeroHom.id α :=
rfl
-#align order_ring_hom.coe_order_monoid_with_zero_hom_id OrderRingHom.coe_orderMonoidWithZeroHom_id
+#align order_ring_hom.coe_order_monoid_with_zero_hom_id OrderRingHom.coe_OrderMonoidWithZeroHom_id
+#print OrderRingHom.comp /-
/-- Composition of two `order_ring_hom`s as an `order_ring_hom`. -/
protected def comp (f : β →+*o γ) (g : α →+*o β) : α →+*o γ :=
{ f.toRingHom.comp g.toRingHom, f.toOrderAddMonoidHom.comp g.toOrderAddMonoidHom with }
#align order_ring_hom.comp OrderRingHom.comp
+-/
+/- warning: order_ring_hom.coe_comp -> OrderRingHom.coe_comp is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] (f : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u3)} (α -> γ) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) => α -> γ) (OrderRingHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) => β -> γ) (OrderRingHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g))
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] (f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) ᾰ) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_2 _inst_6 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_1 _inst_2 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g))
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.coe_comp OrderRingHom.coe_compₓ'. -/
@[simp]
theorem coe_comp (f : β →+*o γ) (g : α →+*o β) : ⇑(f.comp g) = f ∘ g :=
rfl
#align order_ring_hom.coe_comp OrderRingHom.coe_comp
+/- warning: order_ring_hom.comp_apply -> OrderRingHom.comp_apply is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] (f : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) => α -> γ) (OrderRingHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) => β -> γ) (OrderRingHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g a))
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] (f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_2 _inst_6 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u2, u1, u2} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) α γ _inst_1 _inst_2 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g a))
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.comp_apply OrderRingHom.comp_applyₓ'. -/
@[simp]
theorem comp_apply (f : β →+*o γ) (g : α →+*o β) (a : α) : f.comp g a = f (g a) :=
rfl
#align order_ring_hom.comp_apply OrderRingHom.comp_apply
+/- warning: order_ring_hom.comp_assoc -> OrderRingHom.comp_assoc is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] [_inst_7 : NonAssocSemiring.{u4} δ] [_inst_8 : Preorder.{u4} δ] (f : OrderRingHom.{u3, u4} γ δ _inst_5 _inst_6 _inst_7 _inst_8) (g : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (h : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u4)} (OrderRingHom.{u1, u4} α δ _inst_1 _inst_2 _inst_7 _inst_8) (OrderRingHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_3 _inst_4 _inst_7 _inst_8 (OrderRingHom.comp.{u2, u3, u4} β γ δ _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f g) h) (OrderRingHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_2 _inst_5 _inst_6 _inst_7 _inst_8 f (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g h))
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u4} γ] [_inst_6 : Preorder.{u4} γ] [_inst_7 : NonAssocSemiring.{u3} δ] [_inst_8 : Preorder.{u3} δ] (f : OrderRingHom.{u4, u3} γ δ _inst_5 _inst_6 _inst_7 _inst_8) (g : OrderRingHom.{u2, u4} β γ _inst_3 _inst_4 _inst_5 _inst_6) (h : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α δ _inst_1 _inst_2 _inst_7 _inst_8) (OrderRingHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_3 _inst_4 _inst_7 _inst_8 (OrderRingHom.comp.{u2, u4, u3} β γ δ _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f g) h) (OrderRingHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_2 _inst_5 _inst_6 _inst_7 _inst_8 f (OrderRingHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 g h))
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.comp_assoc OrderRingHom.comp_assocₓ'. -/
theorem comp_assoc (f : γ →+*o δ) (g : β →+*o γ) (h : α →+*o β) :
(f.comp g).comp h = f.comp (g.comp h) :=
rfl
#align order_ring_hom.comp_assoc OrderRingHom.comp_assoc
+/- warning: order_ring_hom.comp_id -> OrderRingHom.comp_id is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.comp.{u1, u1, u2} α α β _inst_1 _inst_2 _inst_1 _inst_2 _inst_3 _inst_4 f (OrderRingHom.id.{u1} α _inst_1 _inst_2)) f
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.comp.{u2, u2, u1} α α β _inst_1 _inst_2 _inst_1 _inst_2 _inst_3 _inst_4 f (OrderRingHom.id.{u2} α _inst_1 _inst_2)) f
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.comp_id OrderRingHom.comp_idₓ'. -/
@[simp]
theorem comp_id (f : α →+*o β) : f.comp (OrderRingHom.id α) = f :=
ext fun x => rfl
#align order_ring_hom.comp_id OrderRingHom.comp_id
+/- warning: order_ring_hom.id_comp -> OrderRingHom.id_comp is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_3 _inst_4 _inst_3 _inst_4 (OrderRingHom.id.{u2} β _inst_3 _inst_4) f) f
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_3 _inst_4 _inst_3 _inst_4 (OrderRingHom.id.{u1} β _inst_3 _inst_4) f) f
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.id_comp OrderRingHom.id_compₓ'. -/
@[simp]
theorem id_comp (f : α →+*o β) : (OrderRingHom.id β).comp f = f :=
ext fun x => rfl
#align order_ring_hom.id_comp OrderRingHom.id_comp
+/- warning: order_ring_hom.cancel_right -> OrderRingHom.cancel_right is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] {f₁ : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6} {f₂ : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₁ g) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₂ g)) (Eq.{max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f₁ f₂))
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] {f₁ : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {f₂ : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u1} α (AddMonoidWithOne.toAddMonoid.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α _inst_1)))) (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u1 u3, u1, u3} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4)))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₁ g) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f₂ g)) (Eq.{max (succ u3) (succ u2)} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) f₁ f₂))
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.cancel_right OrderRingHom.cancel_rightₓ'. -/
theorem cancel_right {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Surjective g) :
f₁.comp g = f₂.comp g ↔ f₁ = f₂ :=
⟨fun h => ext <| hg.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
#align order_ring_hom.cancel_right OrderRingHom.cancel_right
+/- warning: order_ring_hom.cancel_left -> OrderRingHom.cancel_left is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] [_inst_5 : NonAssocSemiring.{u3} γ] [_inst_6 : Preorder.{u3} γ] {f : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g₁ : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4} {g₂ : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingHom.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) => β -> γ) (OrderRingHom.hasCoeToFun.{u2, u3} β γ _inst_3 _inst_4 _inst_5 _inst_6) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₁) (OrderRingHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₂)) (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) g₁ g₂))
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u3} β] [_inst_4 : Preorder.{u3} β] [_inst_5 : NonAssocSemiring.{u2} γ] [_inst_6 : Preorder.{u2} γ] {f : OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6} {g₁ : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4} {g₂ : OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u2} γ (Preorder.toLE.{u2} γ _inst_6) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_4 _inst_6 (AddMonoid.toAddZeroClass.{u3} β (AddMonoidWithOne.toAddMonoid.{u3} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u3} β (NonAssocSemiring.toAddCommMonoidWithOne.{u3} β _inst_3)))) (AddMonoid.toAddZeroClass.{u2} γ (AddMonoidWithOne.toAddMonoid.{u2} γ (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} γ (NonAssocSemiring.toAddCommMonoidWithOne.{u2} γ _inst_5)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u3 u2, u3, u2} (OrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6) β γ _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u3, u2} β γ _inst_3 _inst_4 _inst_5 _inst_6)))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α γ _inst_1 _inst_2 _inst_5 _inst_6) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₁) (OrderRingHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f g₂)) (Eq.{max (succ u1) (succ u3)} (OrderRingHom.{u1, u3} α β _inst_1 _inst_2 _inst_3 _inst_4) g₁ g₂))
+Case conversion may be inaccurate. Consider using '#align order_ring_hom.cancel_left OrderRingHom.cancel_leftₓ'. -/
theorem cancel_left {f : β →+*o γ} {g₁ g₂ : α →+*o β} (hf : Injective f) :
f.comp g₁ = f.comp g₂ ↔ g₁ = g₂ :=
⟨fun h => ext fun a => hf <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -324,6 +513,12 @@ section LE
variable [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] [Mul γ] [Add γ] [LE γ] [Mul δ] [Add δ] [LE δ]
+/- warning: order_ring_iso.to_order_iso -> OrderRingIso.toOrderIso is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) -> (OrderIso.{u1, u2} α β _inst_3 _inst_6)
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) -> (OrderIso.{u1, u2} α β _inst_3 _inst_6)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_iso OrderRingIso.toOrderIsoₓ'. -/
/-- Reinterpret an ordered ring isomorphism as an order isomorphism. -/
def toOrderIso (f : α ≃+*o β) : α ≃o β :=
⟨f.toRingEquiv.toEquiv, fun _ _ => f.map_le_map_iff'⟩
@@ -348,47 +543,101 @@ directly. -/
instance : CoeFun (α ≃+*o β) fun _ => α → β :=
FunLike.hasCoeToFun
+/- warning: order_ring_iso.to_fun_eq_coe -> OrderRingIso.toFun_eq_coe is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIso.toRingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 (OrderRingIso.toRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_fun_eq_coe OrderRingIso.toFun_eq_coeₓ'. -/
theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
rfl
#align order_ring_iso.to_fun_eq_coe OrderRingIso.toFun_eq_coe
+/- warning: order_ring_iso.ext -> OrderRingIso.ext is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] {f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6} {g : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f g)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] {f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6} {g : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6}, (forall (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) g a)) -> (Eq.{max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) f g)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.ext OrderRingIso.extₓ'. -/
@[ext]
theorem ext {f g : α ≃+*o β} (h : ∀ a, f a = g a) : f = g :=
FunLike.ext f g h
#align order_ring_iso.ext OrderRingIso.ext
+/- warning: order_ring_iso.coe_mk -> OrderRingIso.coe_mk is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (e : RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (h : forall {a : α} {b : α}, Iff (LE.le.{u2} β _inst_6 (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 e a) (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 e b)) (LE.le.{u1} α _inst_3 a b)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderRingIso.mk.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (fun (_x : RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) => α -> β) (RingEquiv.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) e)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) (h : forall {a : α} {b : α}, Iff (LE.le.{u1} β _inst_6 (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 e) a) (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 e) b)) (LE.le.{u2} α _inst_3 a b)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) (OrderRingIso.mk.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 e h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (MulEquivClass.toEquivLike.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_4 (RingEquivClass.toMulEquivClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_2 _inst_4 _inst_5 (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5))))) e)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_mk OrderRingIso.coe_mkₓ'. -/
@[simp]
theorem coe_mk (e : α ≃+* β) (h) : ⇑(⟨e, h⟩ : α ≃+*o β) = e :=
rfl
#align order_ring_iso.coe_mk OrderRingIso.coe_mk
+/- warning: order_ring_iso.mk_coe -> OrderRingIso.mk_coe is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (e : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (h : forall {a : α} {b : α}, Iff (LE.le.{u2} β _inst_6 (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (RingEquiv.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) e) a) (RingEquiv.toFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (RingEquiv.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) e) b)) (LE.le.{u1} α _inst_3 a b)), Eq.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderRingIso.mk.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (RingEquiv.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) e) h) e
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (h : forall {a : α} {b : α}, Iff (LE.le.{u1} β _inst_6 (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) e)) a) (Equiv.toFun.{succ u2, succ u1} α β (RingEquiv.toEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) e)) b)) (LE.le.{u2} α _inst_3 a b)), Eq.{max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (OrderRingIso.mk.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) e) h) e
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.mk_coe OrderRingIso.mk_coeₓ'. -/
@[simp]
theorem mk_coe (e : α ≃+*o β) (h) : (⟨e, h⟩ : α ≃+*o β) = e :=
ext fun _ => rfl
#align order_ring_iso.mk_coe OrderRingIso.mk_coe
+/- warning: order_ring_iso.to_ring_equiv_eq_coe -> OrderRingIso.toRingEquiv_eq_coe is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (OrderRingIso.toRingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (RingEquiv.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) (OrderRingIso.toRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6 f) (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_ring_equiv_eq_coe OrderRingIso.toRingEquiv_eq_coeₓ'. -/
@[simp]
theorem toRingEquiv_eq_coe (f : α ≃+*o β) : f.toRingEquiv = f :=
RingEquiv.ext fun _ => rfl
#align order_ring_iso.to_ring_equiv_eq_coe OrderRingIso.toRingEquiv_eq_coe
+/- warning: order_ring_iso.to_order_iso_eq_coe -> OrderRingIso.toOrderIso_eq_coe is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (OrderIso.{u1, u2} α β _inst_3 _inst_6) (OrderRingIso.toOrderIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (OrderIso.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (OrderIso.{u2, u1} α β _inst_3 _inst_6) (OrderRingIso.toOrderIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 f) (OrderIsoClass.toOrderIso.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_iso_eq_coe OrderRingIso.toOrderIso_eq_coeₓ'. -/
@[simp]
theorem toOrderIso_eq_coe (f : α ≃+*o β) : f.toOrderIso = f :=
OrderIso.ext rfl
#align order_ring_iso.to_order_iso_eq_coe OrderRingIso.toOrderIso_eq_coe
+/- warning: order_ring_iso.coe_to_ring_equiv -> OrderRingIso.coe_toRingEquiv is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (fun (_x : RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) => α -> β) (RingEquiv.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (RingEquiv.{u1, u2} α β _inst_1 _inst_2 _inst_4 _inst_5) (RingEquiv.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : α) => β) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β (MulEquivClass.toEquivLike.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_4 (RingEquivClass.toMulEquivClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5) α β _inst_1 _inst_2 _inst_4 _inst_5 (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5))))) (RingEquivClass.toRingEquiv.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_4 _inst_5 (OrderRingIsoClass.toRingEquivClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_ring_equiv OrderRingIso.coe_toRingEquivₓ'. -/
@[simp, norm_cast]
-theorem coe_to_ringEquiv (f : α ≃+*o β) : ⇑(f : α ≃+* β) = f :=
+theorem coe_toRingEquiv (f : α ≃+*o β) : ⇑(f : α ≃+* β) = f :=
rfl
-#align order_ring_iso.coe_to_ring_equiv OrderRingIso.coe_to_ringEquiv
-
+#align order_ring_iso.coe_to_ring_equiv OrderRingIso.coe_toRingEquiv
+
+/- warning: order_ring_iso.coe_to_order_iso -> OrderRingIso.coe_toOrderIso is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} α β _inst_3 _inst_6) (fun (_x : RelIso.{u1, u2} α β (LE.le.{u1} α _inst_3) (LE.le.{u2} β _inst_6)) => α -> β) (RelIso.hasCoeToFun.{u1, u2} α β (LE.le.{u1} α _inst_3) (LE.le.{u2} β _inst_6)) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderIso.{u1, u2} α β _inst_3 _inst_6) (OrderIso.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.orderRingIsoClass.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (f : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderIso.{u2, u1} α β _inst_3 _inst_6) α (fun (_x : α) => β) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderIso.{u2, u1} α β _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (OrderIsoClass.toOrderIso.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_iso OrderRingIso.coe_toOrderIsoₓ'. -/
@[simp, norm_cast]
-theorem coe_to_orderIso (f : α ≃+*o β) : ⇑(f : α ≃o β) = f :=
+theorem coe_toOrderIso (f : α ≃+*o β) : ⇑(f : α ≃o β) = f :=
rfl
-#align order_ring_iso.coe_to_order_iso OrderRingIso.coe_to_orderIso
+#align order_ring_iso.coe_to_order_iso OrderRingIso.coe_toOrderIso
variable (α)
+/- warning: order_ring_iso.refl -> OrderRingIso.refl is a dubious translation:
+lean 3 declaration is
+ forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3
+but is expected to have type
+ forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], OrderRingIso.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.refl OrderRingIso.reflₓ'. -/
/-- The identity map as an ordered ring isomorphism. -/
@[refl]
protected def refl : α ≃+*o α :=
@@ -398,16 +647,30 @@ protected def refl : α ≃+*o α :=
instance : Inhabited (α ≃+*o α) :=
⟨OrderRingIso.refl α⟩
+#print OrderRingIso.refl_apply /-
@[simp]
theorem refl_apply (x : α) : OrderRingIso.refl α x = x :=
rfl
#align order_ring_iso.refl_apply OrderRingIso.refl_apply
+-/
+/- warning: order_ring_iso.coe_ring_equiv_refl -> OrderRingIso.coe_ringEquiv_refl is a dubious translation:
+lean 3 declaration is
+ forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], Eq.{succ u1} (RingEquiv.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (RingEquiv.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (HasLiftT.mk.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (RingEquiv.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (RingEquiv.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (RingEquiv.hasCoeT.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIsoClass.toRingEquivClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 (OrderRingIso.orderRingIsoClass.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3))))) (OrderRingIso.refl.{u1} α _inst_1 _inst_2 _inst_3)) (RingEquiv.refl.{u1} α _inst_1 _inst_2)
+but is expected to have type
+ forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], Eq.{succ u1} (RingEquiv.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2) (RingEquivClass.toRingEquiv.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIsoClass.toRingEquivClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3) α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3)) (OrderRingIso.refl.{u1} α _inst_1 _inst_2 _inst_3)) (RingEquiv.refl.{u1} α _inst_1 _inst_2)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_ring_equiv_refl OrderRingIso.coe_ringEquiv_reflₓ'. -/
@[simp]
theorem coe_ringEquiv_refl : (OrderRingIso.refl α : α ≃+* α) = RingEquiv.refl α :=
rfl
#align order_ring_iso.coe_ring_equiv_refl OrderRingIso.coe_ringEquiv_refl
+/- warning: order_ring_iso.coe_order_iso_refl -> OrderRingIso.coe_orderIso_refl is a dubious translation:
+lean 3 declaration is
+ forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], Eq.{succ u1} (OrderIso.{u1, u1} α α _inst_3 _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (OrderIso.{u1, u1} α α _inst_3 _inst_3) (HasLiftT.mk.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (OrderIso.{u1, u1} α α _inst_3 _inst_3) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (OrderIso.{u1, u1} α α _inst_3 _inst_3) (OrderIso.hasCoeT.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) α α _inst_3 _inst_3 (OrderRingIsoClass.toOrderIsoClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 (OrderRingIso.orderRingIsoClass.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3))))) (OrderRingIso.refl.{u1} α _inst_1 _inst_2 _inst_3)) (OrderIso.refl.{u1} α _inst_3)
+but is expected to have type
+ forall (α : Type.{u1}) [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α], Eq.{succ u1} (OrderIso.{u1, u1} α α _inst_3 _inst_3) (OrderIsoClass.toOrderIso.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3) α α _inst_3 _inst_3 (OrderRingIsoClass.toOrderIsoClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3) α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3)) (OrderRingIso.refl.{u1} α _inst_1 _inst_2 _inst_3)) (OrderIso.refl.{u1} α _inst_3)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_order_iso_refl OrderRingIso.coe_orderIso_reflₓ'. -/
@[simp]
theorem coe_orderIso_refl : (OrderRingIso.refl α : α ≃o α) = OrderIso.refl α :=
rfl
@@ -415,6 +678,12 @@ theorem coe_orderIso_refl : (OrderRingIso.refl α : α ≃o α) = OrderIso.refl
variable {α}
+/- warning: order_ring_iso.symm -> OrderRingIso.symm is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) -> (OrderRingIso.{u2, u1} β α _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3)
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) -> (OrderRingIso.{u2, u1} β α _inst_4 _inst_1 _inst_5 _inst_2 _inst_6 _inst_3)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.symm OrderRingIso.symmₓ'. -/
/-- The inverse of an ordered ring isomorphism as an ordered ring isomorphism. -/
@[symm]
protected def symm (e : α ≃+*o β) : β ≃+*o α :=
@@ -422,37 +691,79 @@ protected def symm (e : α ≃+*o β) : β ≃+*o α :=
erw [← map_le_map_iff e, e.1.apply_symm_apply, e.1.apply_symm_apply]⟩
#align order_ring_iso.symm OrderRingIso.symm
+/- warning: order_ring_iso.simps.symm_apply -> OrderRingIso.Simps.symmApply is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) -> β -> α
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], (OrderRingIso.{u1, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) -> β -> α
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.simps.symm_apply OrderRingIso.Simps.symmApplyₓ'. -/
/-- See Note [custom simps projection] -/
def Simps.symmApply (e : α ≃+*o β) : β → α :=
e.symm
#align order_ring_iso.simps.symm_apply OrderRingIso.Simps.symmApply
+/- warning: order_ring_iso.symm_symm -> OrderRingIso.symm_symm is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (e : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderRingIso.symm.{u2, u1} β α _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 (OrderRingIso.symm.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e)) e
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (OrderRingIso.symm.{u1, u2} β α _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 (OrderRingIso.symm.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e)) e
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.symm_symm OrderRingIso.symm_symmₓ'. -/
@[simp]
theorem symm_symm (e : α ≃+*o β) : e.symm.symm = e :=
ext fun _ => rfl
#align order_ring_iso.symm_symm OrderRingIso.symm_symm
+/- warning: order_ring_iso.trans -> OrderRingIso.trans is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] [_inst_7 : Mul.{u3} γ] [_inst_8 : Add.{u3} γ] [_inst_9 : LE.{u3} γ], (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) -> (OrderRingIso.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) -> (OrderRingIso.{u1, u3} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9)
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] [_inst_7 : Mul.{u3} γ] [_inst_8 : Add.{u3} γ] [_inst_9 : LE.{u3} γ], (OrderRingIso.{u1, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) -> (OrderRingIso.{u2, u3} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) -> (OrderRingIso.{u1, u3} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.trans OrderRingIso.transₓ'. -/
/-- Composition of `order_ring_iso`s as an `order_ring_iso`. -/
@[trans, simps]
protected def trans (f : α ≃+*o β) (g : β ≃+*o γ) : α ≃+*o γ :=
⟨f.toRingEquiv.trans g.toRingEquiv, fun a b => (map_le_map_iff g).trans (map_le_map_iff f)⟩
#align order_ring_iso.trans OrderRingIso.trans
+/- warning: order_ring_iso.trans_apply -> OrderRingIso.trans_apply is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] [_inst_7 : Mul.{u3} γ] [_inst_8 : Add.{u3} γ] [_inst_9 : LE.{u3} γ] (f : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (g : OrderRingIso.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderRingIso.{u1, u3} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9) (fun (_x : OrderRingIso.{u1, u3} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9) => α -> γ) (OrderRingIso.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9) (OrderRingIso.trans.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderRingIso.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) (fun (_x : OrderRingIso.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) => β -> γ) (OrderRingIso.hasCoeToFun.{u2, u3} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9) g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (fun (_x : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) f a))
+but is expected to have type
+ forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Mul.{u3} α] [_inst_2 : Add.{u3} α] [_inst_3 : LE.{u3} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] [_inst_7 : Mul.{u1} γ] [_inst_8 : Add.{u1} γ] [_inst_9 : LE.{u1} γ] (f : OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (g : OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) a) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) _x) (RelHomClass.toFunLike.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u3} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u1} γ _inst_9 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ _inst_3 _inst_9 (OrderRingIsoClass.toOrderIsoClass.{max u3 u1, u3, u1} (OrderRingIso.{u3, u1} α γ _inst_1 _inst_7 _inst_2 _inst_8 _inst_3 _inst_9) α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u3, u1} α γ _inst_1 _inst_2 _inst_3 _inst_7 _inst_8 _inst_9)))) (OrderRingIso.trans.{u3, u2, u1} α β γ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f g) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u2} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : γ) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : γ) => LE.le.{u1} γ _inst_9 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ _inst_6 _inst_9 (OrderRingIsoClass.toOrderIsoClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} β γ _inst_4 _inst_7 _inst_5 _inst_8 _inst_6 _inst_9) β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} β γ _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9)))) g (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u3} α _inst_3 x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u2} β _inst_6 x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderIsoClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_3 _inst_6 (OrderRingIsoClass.toOrderIsoClass.{max u3 u2, u3, u2} (OrderRingIso.{u3, u2} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u3, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)))) f a))
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.trans_apply OrderRingIso.trans_applyₓ'. -/
@[simp]
theorem trans_apply (f : α ≃+*o β) (g : β ≃+*o γ) (a : α) : f.trans g a = g (f a) :=
rfl
#align order_ring_iso.trans_apply OrderRingIso.trans_apply
+/- warning: order_ring_iso.self_trans_symm -> OrderRingIso.self_trans_symm is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (e : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{succ u1} (OrderRingIso.{u1, u1} α α _inst_1 _inst_2 _inst_3 _inst_1 _inst_2 _inst_3) (OrderRingIso.trans.{u1, u2, u1} α β α _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 e (OrderRingIso.symm.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e)) (OrderRingIso.refl.{u1} α _inst_1 _inst_2 _inst_3)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{succ u2} (OrderRingIso.{u2, u2} α α _inst_1 _inst_1 _inst_2 _inst_2 _inst_3 _inst_3) (OrderRingIso.trans.{u2, u1, u2} α β α _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 e (OrderRingIso.symm.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e)) (OrderRingIso.refl.{u2} α _inst_1 _inst_2 _inst_3)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.self_trans_symm OrderRingIso.self_trans_symmₓ'. -/
@[simp]
theorem self_trans_symm (e : α ≃+*o β) : e.trans e.symm = OrderRingIso.refl α :=
ext e.left_inv
#align order_ring_iso.self_trans_symm OrderRingIso.self_trans_symm
+/- warning: order_ring_iso.symm_trans_self -> OrderRingIso.symm_trans_self is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β] (e : OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6), Eq.{succ u2} (OrderRingIso.{u2, u2} β β _inst_4 _inst_5 _inst_6 _inst_4 _inst_5 _inst_6) (OrderRingIso.trans.{u2, u1, u2} β α β _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.symm.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e) e) (OrderRingIso.refl.{u2} β _inst_4 _inst_5 _inst_6)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β] (e : OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6), Eq.{succ u1} (OrderRingIso.{u1, u1} β β _inst_4 _inst_4 _inst_5 _inst_5 _inst_6 _inst_6) (OrderRingIso.trans.{u1, u2, u1} β α β _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 (OrderRingIso.symm.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 e) e) (OrderRingIso.refl.{u1} β _inst_4 _inst_5 _inst_6)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.symm_trans_self OrderRingIso.symm_trans_selfₓ'. -/
@[simp]
theorem symm_trans_self (e : α ≃+*o β) : e.symm.trans e = OrderRingIso.refl β :=
ext e.right_inv
#align order_ring_iso.symm_trans_self OrderRingIso.symm_trans_self
+/- warning: order_ring_iso.symm_bijective -> OrderRingIso.symm_bijective is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Mul.{u1} α] [_inst_2 : Add.{u1} α] [_inst_3 : LE.{u1} α] [_inst_4 : Mul.{u2} β] [_inst_5 : Add.{u2} β] [_inst_6 : LE.{u2} β], Function.Bijective.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderRingIso.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6) (OrderRingIso.{u2, u1} β α _inst_4 _inst_5 _inst_6 _inst_1 _inst_2 _inst_3) (OrderRingIso.symm.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Mul.{u2} α] [_inst_2 : Add.{u2} α] [_inst_3 : LE.{u2} α] [_inst_4 : Mul.{u1} β] [_inst_5 : Add.{u1} β] [_inst_6 : LE.{u1} β], Function.Bijective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β _inst_1 _inst_4 _inst_2 _inst_5 _inst_3 _inst_6) (OrderRingIso.{u1, u2} β α _inst_4 _inst_1 _inst_5 _inst_2 _inst_6 _inst_3) (OrderRingIso.symm.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.symm_bijective OrderRingIso.symm_bijectiveₓ'. -/
theorem symm_bijective : Bijective (OrderRingIso.symm : α ≃+*o β → β ≃+*o α) :=
⟨fun f g h => f.symm_symm.symm.trans <| (congr_arg OrderRingIso.symm h).trans g.symm_symm,
fun f => ⟨f.symm, f.symm_symm⟩⟩
@@ -465,26 +776,56 @@ section NonAssocSemiring
variable [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β] [NonAssocSemiring γ]
[Preorder γ]
+/- warning: order_ring_iso.to_order_ring_hom -> OrderRingIso.toOrderRingHom is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], (OrderRingIso.{u1, u2} α β (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u1} α _inst_2) (Preorder.toLE.{u2} β _inst_4)) -> (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_ring_hom OrderRingIso.toOrderRingHomₓ'. -/
/-- Reinterpret an ordered ring isomorphism as an ordered ring homomorphism. -/
def toOrderRingHom (f : α ≃+*o β) : α →+*o β :=
⟨f.toRingEquiv.toRingHom, fun a b => (map_le_map_iff f).2⟩
#align order_ring_iso.to_order_ring_hom OrderRingIso.toOrderRingHom
+/- warning: order_ring_iso.to_order_ring_hom_eq_coe -> OrderRingIso.toOrderRingHom_eq_coe is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)), Eq.{max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4 f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.orderRingIsoClass.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)))))) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)), Eq.{max (succ u2) (succ u1)} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4 f) (OrderRingHomClass.toOrderRingHom.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4))) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_ring_hom_eq_coe OrderRingIso.toOrderRingHom_eq_coeₓ'. -/
@[simp]
theorem toOrderRingHom_eq_coe (f : α ≃+*o β) : f.toOrderRingHom = f :=
rfl
#align order_ring_iso.to_order_ring_hom_eq_coe OrderRingIso.toOrderRingHom_eq_coe
+/- warning: order_ring_iso.coe_to_order_ring_hom -> OrderRingIso.coe_toOrderRingHom is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β] (f : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (fun (_x : OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) => α -> β) (OrderRingHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u1) (succ u2)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u1) (succ u2)} a b] => self.0) (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingHom.hasCoeT.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u1 u2, u1, u2} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.orderRingIsoClass.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (fun (_x : OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) => α -> β) (OrderRingIso.hasCoeToFun.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) f)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β] (f : OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingHom.instOrderRingHomClassOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)))) (OrderRingHomClass.toOrderRingHom.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4))) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_2) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1918 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u1} β (Preorder.toLE.{u1} β _inst_4) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_2 _inst_4 (AddMonoid.toAddZeroClass.{u2} α (AddMonoidWithOne.toAddMonoid.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α _inst_1)))) (AddMonoid.toAddZeroClass.{u1} β (AddMonoidWithOne.toAddMonoid.{u1} β (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} β (NonAssocSemiring.toAddCommMonoidWithOne.{u1} β _inst_3)))) (OrderRingHomClass.toOrderAddMonoidHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIsoClass.toOrderRingHomClass.{max u2 u1, u2, u1} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) α β _inst_1 _inst_2 _inst_3 _inst_4 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Preorder.toLE.{u2} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u1} β _inst_4)))))) f)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_ring_hom OrderRingIso.coe_toOrderRingHomₓ'. -/
@[simp, norm_cast]
-theorem coe_to_orderRingHom (f : α ≃+*o β) : ⇑(f : α →+*o β) = f :=
+theorem coe_toOrderRingHom (f : α ≃+*o β) : ⇑(f : α →+*o β) = f :=
rfl
-#align order_ring_iso.coe_to_order_ring_hom OrderRingIso.coe_to_orderRingHom
-
+#align order_ring_iso.coe_to_order_ring_hom OrderRingIso.coe_toOrderRingHom
+
+/- warning: order_ring_iso.coe_to_order_ring_hom_refl -> OrderRingIso.coe_toOrderRingHom_refl is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (HasLiftT.mk.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (CoeTCₓ.coe.{succ u1, succ u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)) (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHom.hasCoeT.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIsoClass.toOrderRingHomClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIso.orderRingIsoClass.{u1, u1} α α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2)))))) (OrderRingIso.refl.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α], Eq.{succ u1} (OrderRingHom.{u1, u1} α α _inst_1 _inst_2 _inst_1 _inst_2) (OrderRingHomClass.toOrderRingHom.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Preorder.toLE.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIsoClass.toOrderRingHomClass.{u1, u1, u1} (OrderRingIso.{u1, u1} α α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Preorder.toLE.{u1} α _inst_2)) α α _inst_1 _inst_2 _inst_1 _inst_2 (OrderRingIso.instOrderRingIsoClassOrderRingIso.{u1, u1} α α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2))) (OrderRingIso.refl.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1)) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2))) (OrderRingHom.id.{u1} α _inst_1 _inst_2)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.coe_to_order_ring_hom_refl OrderRingIso.coe_toOrderRingHom_reflₓ'. -/
@[simp]
-theorem coe_to_orderRingHom_refl : (OrderRingIso.refl α : α →+*o α) = OrderRingHom.id α :=
+theorem coe_toOrderRingHom_refl : (OrderRingIso.refl α : α →+*o α) = OrderRingHom.id α :=
rfl
-#align order_ring_iso.coe_to_order_ring_hom_refl OrderRingIso.coe_to_orderRingHom_refl
-
+#align order_ring_iso.coe_to_order_ring_hom_refl OrderRingIso.coe_toOrderRingHom_refl
+
+/- warning: order_ring_iso.to_order_ring_hom_injective -> OrderRingIso.toOrderRingHom_injective is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : NonAssocSemiring.{u1} α] [_inst_2 : Preorder.{u1} α] [_inst_3 : NonAssocSemiring.{u2} β] [_inst_4 : Preorder.{u2} β], Function.Injective.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α _inst_1))) (Preorder.toLE.{u1} α _inst_2) (Distrib.toHasMul.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Distrib.toHasAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} β _inst_3))) (Preorder.toLE.{u2} β _inst_4)) (OrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u1, u2} α β _inst_1 _inst_2 _inst_3 _inst_4)
+but is expected to have type
+ forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : NonAssocSemiring.{u2} α] [_inst_2 : Preorder.{u2} α] [_inst_3 : NonAssocSemiring.{u1} β] [_inst_4 : Preorder.{u1} β], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (OrderRingIso.{u2, u1} α β (NonUnitalNonAssocSemiring.toMul.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3)) (Distrib.toAdd.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α _inst_1))) (Distrib.toAdd.{u1} β (NonUnitalNonAssocSemiring.toDistrib.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β _inst_3))) (Preorder.toLE.{u2} α _inst_2) (Preorder.toLE.{u1} β _inst_4)) (OrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4) (OrderRingIso.toOrderRingHom.{u2, u1} α β _inst_1 _inst_2 _inst_3 _inst_4)
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.to_order_ring_hom_injective OrderRingIso.toOrderRingHom_injectiveₓ'. -/
theorem toOrderRingHom_injective : Injective (toOrderRingHom : α ≃+*o β → α →+*o β) := fun f g h =>
FunLike.coe_injective <| by convert FunLike.ext'_iff.1 h
#align order_ring_iso.to_order_ring_hom_injective OrderRingIso.toOrderRingHom_injective
@@ -502,6 +843,7 @@ conditionally complete.
-/
+#print OrderRingHom.subsingleton /-
/-- There is at most one ordered ring homomorphism from a linear ordered field to an archimedean
linear ordered field. -/
instance OrderRingHom.subsingleton [LinearOrderedField α] [LinearOrderedField β] [Archimedean β] :
@@ -518,7 +860,14 @@ instance OrderRingHom.subsingleton [LinearOrderedField α] [LinearOrderedField
(lt_asymm ((OrderHomClass.mono g).reflect_lt hg) <|
(OrderHomClass.mono f).reflect_lt hf).elim⟩
#align order_ring_hom.subsingleton OrderRingHom.subsingleton
+-/
+/- warning: order_ring_iso.subsingleton_right -> OrderRingIso.subsingleton_right is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : LinearOrderedField.{u2} β] [_inst_3 : Archimedean.{u2} β (OrderedSemiring.toOrderedAddCommMonoid.{u2} β (StrictOrderedSemiring.toOrderedSemiring.{u2} β (StrictOrderedRing.toStrictOrderedSemiring.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_2))))))], Subsingleton.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (Distrib.toHasMul.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2))))) (Distrib.toHasAdd.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommGroup.toPartialOrder.{u2} β (StrictOrderedRing.toOrderedAddCommGroup.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_2))))))))
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : LinearOrderedField.{u2} β] [_inst_3 : Archimedean.{u2} β (OrderedSemiring.toOrderedAddCommMonoid.{u2} β (OrderedCommSemiring.toOrderedSemiring.{u2} β (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} β (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} β (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} β (LinearOrderedField.toLinearOrderedSemifield.{u2} β _inst_2))))))], Subsingleton.{max (succ u2) (succ u1)} (OrderRingIso.{u1, u2} α β (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))) (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2)))))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (Distrib.toAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_2)))))))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (StrictOrderedRing.toPartialOrder.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_2)))))))
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.subsingleton_right OrderRingIso.subsingleton_rightₓ'. -/
/-- There is at most one ordered ring isomorphism between a linear ordered field and an archimedean
linear ordered field. -/
instance OrderRingIso.subsingleton_right [LinearOrderedField α] [LinearOrderedField β]
@@ -526,6 +875,12 @@ instance OrderRingIso.subsingleton_right [LinearOrderedField α] [LinearOrderedF
OrderRingIso.toOrderRingHom_injective.Subsingleton
#align order_ring_iso.subsingleton_right OrderRingIso.subsingleton_right
+/- warning: order_ring_iso.subsingleton_left -> OrderRingIso.subsingleton_left is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Archimedean.{u1} α (OrderedSemiring.toOrderedAddCommMonoid.{u1} α (StrictOrderedSemiring.toOrderedSemiring.{u1} α (StrictOrderedRing.toStrictOrderedSemiring.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))] [_inst_3 : LinearOrderedField.{u2} β], Subsingleton.{max (succ u1) (succ u2)} (OrderRingIso.{u1, u2} α β (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1))))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (OrderedAddCommGroup.toPartialOrder.{u1} α (StrictOrderedRing.toOrderedAddCommGroup.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1))))))) (Distrib.toHasMul.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3))))) (Distrib.toHasAdd.{u2} β (Ring.toDistrib.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommGroup.toPartialOrder.{u2} β (StrictOrderedRing.toOrderedAddCommGroup.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_3))))))))
+but is expected to have type
+ forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} α] [_inst_2 : Archimedean.{u1} α (OrderedSemiring.toOrderedAddCommMonoid.{u1} α (OrderedCommSemiring.toOrderedSemiring.{u1} α (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} α (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} α (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} α (LinearOrderedField.toLinearOrderedSemifield.{u1} α _inst_1))))))] [_inst_3 : LinearOrderedField.{u2} β], Subsingleton.{max (succ u2) (succ u1)} (OrderRingIso.{u1, u2} α β (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))) (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3)))))) (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α (DivisionRing.toRing.{u1} α (Field.toDivisionRing.{u1} α (LinearOrderedField.toField.{u1} α _inst_1)))))))) (Distrib.toAdd.{u2} β (NonUnitalNonAssocSemiring.toDistrib.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (DivisionRing.toRing.{u2} β (Field.toDivisionRing.{u2} β (LinearOrderedField.toField.{u2} β _inst_3)))))))) (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (StrictOrderedRing.toPartialOrder.{u1} α (LinearOrderedRing.toStrictOrderedRing.{u1} α (LinearOrderedCommRing.toLinearOrderedRing.{u1} α (LinearOrderedField.toLinearOrderedCommRing.{u1} α _inst_1)))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (StrictOrderedRing.toPartialOrder.{u2} β (LinearOrderedRing.toStrictOrderedRing.{u2} β (LinearOrderedCommRing.toLinearOrderedRing.{u2} β (LinearOrderedField.toLinearOrderedCommRing.{u2} β _inst_3)))))))
+Case conversion may be inaccurate. Consider using '#align order_ring_iso.subsingleton_left OrderRingIso.subsingleton_leftₓ'. -/
/-- There is at most one ordered ring isomorphism between an archimedean linear ordered field and a
linear ordered field. -/
instance OrderRingIso.subsingleton_left [LinearOrderedField α] [Archimedean α]
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -155,7 +155,7 @@ instance : FunLike (α →+*o β) α β where
coe f := f.toFun
coe_injective' f g h := by
obtain ⟨⟨_, _⟩, _⟩ := f; obtain ⟨⟨_, _⟩, _⟩ := g; congr
- -- porting note: needed to add the following line
+ -- Porting note: needed to add the following line
exact DFunLike.coe_injective' h
instance : OrderHomClass (α →+*o β) α β where
@@ -536,7 +536,7 @@ instance OrderRingHom.subsingleton [LinearOrderedField α] [LinearOrderedField
ext x
by_contra! h' : f x ≠ g x
wlog h : f x < g x generalizing α β with h₂
- -- porting note: had to add the `generalizing` as there are random variables
+ -- Porting note: had to add the `generalizing` as there are random variables
-- `F γ δ` flying around in context.
· exact h₂ g f x (Ne.symm h') (h'.lt_or_lt.resolve_left h)
obtain ⟨q, hf, hg⟩ := exists_rat_btwn h
*HomClass
es (#10544)
Drop classes that mix OrderHomClass
with algebraic hom classes.
@@ -25,6 +25,13 @@ Homomorphisms between ordered (semi)rings that respect the ordering.
* `→+*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
@@ -75,80 +82,30 @@ structure OrderRingIso (α β : Type*) [Mul α] [Mul β] [Add α] [Add β] [LE
@[inherit_doc]
infixl:25 " ≃+*o " => OrderRingIso
-/-- `OrderRingHomClass F α β` states that `F` is a type of ordered semiring homomorphisms.
-You should extend this typeclass when you extend `OrderRingHom`. -/
-class OrderRingHomClass (F : Type*) (α β : outParam <| Type*) [NonAssocSemiring α] [Preorder α]
- [NonAssocSemiring β] [Preorder β] [FunLike F α β] extends RingHomClass F α β : Prop where
- /-- The proposition that the function preserves the order. -/
- monotone (f : F) : Monotone f
-#align order_ring_hom_class OrderRingHomClass
-
-/-- `OrderRingIsoClass F α β` states that `F` is a type of ordered semiring isomorphisms.
-You should extend this class when you extend `OrderRingIso`. -/
-class OrderRingIsoClass (F : Type*) (α β : outParam (Type*)) [Mul α] [Add α] [LE α] [Mul β]
- [Add β] [LE β] [EquivLike F α β] extends RingEquivClass F α β : Prop where
- /-- The proposition that the function preserves the order bijectively. -/
- map_le_map_iff (f : F) {a b : α} : f a ≤ f b ↔ a ≤ b
-#align order_ring_iso_class OrderRingIsoClass
+-- See module docstring for details
+#noalign order_ring_hom_class
+#noalign order_ring_iso_class
+#noalign order_ring_hom_class.to_order_add_monoid_hom_class
+#noalign order_ring_hom_class.to_order_monoid_with_zero_hom_class
+#noalign order_ring_iso_class.to_order_iso_class
+#noalign order_ring_iso_class.to_order_ring_hom_class
section Hom
variable [FunLike F α β]
--- See note [lower priority instance]
-instance (priority := 100) OrderRingHomClass.toOrderAddMonoidHomClass [NonAssocSemiring α]
- [Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingHomClass F α β] :
- OrderAddMonoidHomClass F α β :=
- { ‹OrderRingHomClass F α β› with }
-#align order_ring_hom_class.to_order_add_monoid_hom_class OrderRingHomClass.toOrderAddMonoidHomClass
-
--- See note [lower priority instance]
-instance (priority := 100) OrderRingHomClass.toOrderMonoidWithZeroHomClass [NonAssocSemiring α]
- [Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingHomClass F α β] :
- OrderMonoidWithZeroHomClass F α β :=
- { ‹OrderRingHomClass F α β› with }
-#align order_ring_hom_class.to_order_monoid_with_zero_hom_class OrderRingHomClass.toOrderMonoidWithZeroHomClass
-
-end Hom
-
-section Equiv
-
-variable [EquivLike F α β]
-
--- See note [lower instance priority]
-instance (priority := 100) OrderRingIsoClass.toOrderIsoClass [Mul α] [Add α] [LE α]
- [Mul β] [Add β] [LE β] [OrderRingIsoClass F α β] : OrderIsoClass F α β :=
- { ‹OrderRingIsoClass F α β› with }
-#align order_ring_iso_class.to_order_iso_class OrderRingIsoClass.toOrderIsoClass
-
--- See note [lower instance priority]
-instance (priority := 100) OrderRingIsoClass.toOrderRingHomClass [NonAssocSemiring α]
- [Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingIsoClass F α β] :
- OrderRingHomClass F α β :=
- { monotone := fun f _ _ => (map_le_map_iff f).2
- -- porting note: used to be the following which times out
- --‹OrderRingIsoClass F α β› with monotone := fun f => OrderHomClass.mono f
- }
-#align order_ring_iso_class.to_order_ring_hom_class OrderRingIsoClass.toOrderRingHomClass
-
-end Equiv
-
-section Hom
-
-variable [FunLike F α β]
-
--- porting note: OrderRingHomClass.toOrderRingHom is new
-/-- Turn an element of a type `F` satisfying `OrderRingHomClass F α β` into an actual
-`OrderRingHom`. This is declared as the default coercion from `F` to `α →+*o β`. -/
+/-- 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 β`. -/
@[coe]
def OrderRingHomClass.toOrderRingHom [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β]
- [Preorder β] [OrderRingHomClass F α β] (f : F) : α →+*o β :=
-{ (f : α →+* β) with monotone' := monotone f}
+ [Preorder β] [OrderHomClass F α β] [RingHomClass F α β] (f : F) : α →+*o β :=
+{ (f : α →+* β) with monotone' := OrderHomClass.monotone f}
/-- Any type satisfying `OrderRingHomClass` can be cast into `OrderRingHom` via
`OrderRingHomClass.toOrderRingHom`. -/
instance [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β]
- [OrderRingHomClass F α β] : CoeTC F (α →+*o β) :=
+ [OrderHomClass F α β] [RingHomClass F α β] : CoeTC F (α →+*o β) :=
⟨OrderRingHomClass.toOrderRingHom⟩
end Hom
@@ -157,18 +114,18 @@ section Equiv
variable [EquivLike F α β]
--- porting note: OrderRingIsoClass.toOrderRingIso is new
-/-- Turn an element of a type `F` satisfying `OrderRingIsoClass F α β` into an actual
-`OrderRingIso`. This is declared as the default coercion from `F` to `α ≃+*o β`. -/
+/-- 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 β`. -/
@[coe]
def OrderRingIsoClass.toOrderRingIso [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β]
- [OrderRingIsoClass F α β] (f : F) : α ≃+*o β :=
+ [OrderIsoClass F α β] [RingEquivClass F α β] (f : F) : α ≃+*o β :=
{ (f : α ≃+* β) with map_le_map_iff' := map_le_map_iff f}
/-- Any type satisfying `OrderRingIsoClass` can be cast into `OrderRingIso` via
`OrderRingIsoClass.toOrderRingIso`. -/
-instance [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] [OrderRingIsoClass F α β] :
- CoeTC F (α ≃+*o β) :=
+instance [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] [OrderIsoClass F α β]
+ [RingEquivClass F α β] : CoeTC F (α ≃+*o β) :=
⟨OrderRingIsoClass.toOrderRingIso⟩
end Equiv
@@ -194,21 +151,21 @@ def toOrderMonoidWithZeroHom (f : α →+*o β) : α →*₀o β :=
{ f with }
#align order_ring_hom.to_order_monoid_with_zero_hom OrderRingHom.toOrderMonoidWithZeroHom
-instance : FunLike (α →+*o β) α β
- where
+instance : FunLike (α →+*o β) α β where
coe f := f.toFun
coe_injective' f g h := by
obtain ⟨⟨_, _⟩, _⟩ := f; obtain ⟨⟨_, _⟩, _⟩ := g; congr
-- porting note: needed to add the following line
exact DFunLike.coe_injective' h
-instance : OrderRingHomClass (α →+*o β) α β
- where
+instance : OrderHomClass (α →+*o β) α β where
+ map_rel f _ _ h := f.monotone' h
+
+instance : RingHomClass (α →+*o β) α β where
map_mul f := f.map_mul'
map_one f := f.map_one'
map_add f := f.map_add'
map_zero f := f.map_zero'
- monotone f := f.monotone'
theorem toFun_eq_coe (f : α →+*o β) : f.toFun = f :=
rfl
@@ -398,12 +355,13 @@ instance : EquivLike (α ≃+*o β) α β
left_inv f := f.left_inv
right_inv f := f.right_inv
-instance : OrderRingIsoClass (α ≃+*o β) α β
- where
- map_add f := f.map_add'
- map_mul f := f.map_mul'
+instance : OrderIsoClass (α ≃+*o β) α β where
map_le_map_iff f _ _ := f.map_le_map_iff'
+instance : RingEquivClass (α ≃+*o β) α β where
+ map_mul f := f.map_mul'
+ map_add f := f.map_add'
+
theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
rfl
#align order_ring_iso.to_fun_eq_coe OrderRingIso.toFun_eq_coe
The FunLike hierarchy is very big and gets scanned through each time we need a coercion (via the CoeFun
instance). It looks like unbundled inheritance suits Lean 4 better here. The only class that still extends FunLike
is EquivLike
, since that has a custom coe_injective'
field that is easier to implement. All other classes should take FunLike
or EquivLike
as a parameter.
Previously, morphism classes would be Type
-valued and extend FunLike
:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
extends FunLike F A B :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
After this PR, they should be Prop
-valued and take FunLike
as a parameter:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
[FunLike F A B] : Prop :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
(Note that A B
stay marked as outParam
even though they are not purely required to be so due to the FunLike
parameter already filling them in. This is required to see through type synonyms, which is important in the category theory library. Also, I think keeping them as outParam
is slightly faster.)
Similarly, MyEquivClass
should take EquivLike
as a parameter.
As a result, every mention of [MyHomClass F A B]
should become [FunLike F A B] [MyHomClass F A B]
.
While overall this gives some great speedups, there are some cases that are noticeably slower. In particular, a failing application of a lemma such as map_mul
is more expensive. This is due to suboptimal processing of arguments. For example:
variable [FunLike F M N] [Mul M] [Mul N] (f : F) (x : M) (y : M)
theorem map_mul [MulHomClass F M N] : f (x * y) = f x * f y
example [AddHomClass F A B] : f (x * y) = f x * f y := map_mul f _ _
Before this PR, applying map_mul f
gives the goals [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Since M
and N
are out_param
s, [MulHomClass F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found.
After this PR, the goals become [FunLike F ?M ?N] [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Now [FunLike F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found, before trying MulHomClass F M N
which fails. Since the Mul
hierarchy is very big, this can be slow to fail, especially when there is no such Mul
instance.
A long-term but harder to achieve solution would be to specify the order in which instance goals get solved. For example, we'd like to change the arguments to map_mul
to look like [FunLike F M N] [Mul M] [Mul N] [highPriority <| MulHomClass F M N]
because MulHomClass
fails or succeeds much faster than the others.
As a consequence, the simpNF
linter is much slower since by design it tries and fails to apply many map_
lemmas. The same issue occurs a few times in existing calls to simp [map_mul]
, where map_mul
is tried "too soon" and fails. Thanks to the speedup of leanprover/lean4#2478 the impact is very limited, only in files that already were close to the timeout.
simp
not firing sometimesThis affects map_smulₛₗ
and related definitions. For simp
lemmas Lean apparently uses a slightly different mechanism to find instances, so that rw
can find every argument to map_smulₛₗ
successfully but simp
can't: leanprover/lean4#3701.
Especially in the category theory library, we might sometimes have a type A
which is also accessible as a synonym (Bundled A hA).1
. Instance synthesis doesn't always work if we have f : A →* B
but x * y : (Bundled A hA).1
or vice versa. This seems to be mostly fixed by keeping A B
as outParam
s in MulHomClass F A B
. (Presumably because Lean will do a definitional check A =?= (Bundled A hA).1
instead of using the syntax in the discrimination tree.)
The timeouts can be worked around for now by specifying which map_mul
we mean, either as map_mul f
for some explicit f
, or as e.g. MonoidHomClass.map_mul
.
map_smulₛₗ
not firing as simp
lemma can be worked around by going back to the pre-FunLike situation and making LinearMap.map_smulₛₗ
a simp
lemma instead of the generic map_smulₛₗ
. Writing simp [map_smulₛₗ _]
also works.
Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -78,7 +78,7 @@ infixl:25 " ≃+*o " => OrderRingIso
/-- `OrderRingHomClass F α β` states that `F` is a type of ordered semiring homomorphisms.
You should extend this typeclass when you extend `OrderRingHom`. -/
class OrderRingHomClass (F : Type*) (α β : outParam <| Type*) [NonAssocSemiring α] [Preorder α]
- [NonAssocSemiring β] [Preorder β] extends RingHomClass F α β where
+ [NonAssocSemiring β] [Preorder β] [FunLike F α β] extends RingHomClass F α β : Prop where
/-- The proposition that the function preserves the order. -/
monotone (f : F) : Monotone f
#align order_ring_hom_class OrderRingHomClass
@@ -86,11 +86,15 @@ class OrderRingHomClass (F : Type*) (α β : outParam <| Type*) [NonAssocSemirin
/-- `OrderRingIsoClass F α β` states that `F` is a type of ordered semiring isomorphisms.
You should extend this class when you extend `OrderRingIso`. -/
class OrderRingIsoClass (F : Type*) (α β : outParam (Type*)) [Mul α] [Add α] [LE α] [Mul β]
- [Add β] [LE β] extends RingEquivClass F α β where
+ [Add β] [LE β] [EquivLike F α β] extends RingEquivClass F α β : Prop where
/-- The proposition that the function preserves the order bijectively. -/
map_le_map_iff (f : F) {a b : α} : f a ≤ f b ↔ a ≤ b
#align order_ring_iso_class OrderRingIsoClass
+section Hom
+
+variable [FunLike F α β]
+
-- See note [lower priority instance]
instance (priority := 100) OrderRingHomClass.toOrderAddMonoidHomClass [NonAssocSemiring α]
[Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingHomClass F α β] :
@@ -105,6 +109,12 @@ instance (priority := 100) OrderRingHomClass.toOrderMonoidWithZeroHomClass [NonA
{ ‹OrderRingHomClass F α β› with }
#align order_ring_hom_class.to_order_monoid_with_zero_hom_class OrderRingHomClass.toOrderMonoidWithZeroHomClass
+end Hom
+
+section Equiv
+
+variable [EquivLike F α β]
+
-- See note [lower instance priority]
instance (priority := 100) OrderRingIsoClass.toOrderIsoClass [Mul α] [Add α] [LE α]
[Mul β] [Add β] [LE β] [OrderRingIsoClass F α β] : OrderIsoClass F α β :=
@@ -121,6 +131,12 @@ instance (priority := 100) OrderRingIsoClass.toOrderRingHomClass [NonAssocSemiri
}
#align order_ring_iso_class.to_order_ring_hom_class OrderRingIsoClass.toOrderRingHomClass
+end Equiv
+
+section Hom
+
+variable [FunLike F α β]
+
-- porting note: OrderRingHomClass.toOrderRingHom is new
/-- Turn an element of a type `F` satisfying `OrderRingHomClass F α β` into an actual
`OrderRingHom`. This is declared as the default coercion from `F` to `α →+*o β`. -/
@@ -135,6 +151,12 @@ instance [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β] [Preorder β]
[OrderRingHomClass F α β] : CoeTC F (α →+*o β) :=
⟨OrderRingHomClass.toOrderRingHom⟩
+end Hom
+
+section Equiv
+
+variable [EquivLike F α β]
+
-- porting note: OrderRingIsoClass.toOrderRingIso is new
/-- Turn an element of a type `F` satisfying `OrderRingIsoClass F α β` into an actual
`OrderRingIso`. This is declared as the default coercion from `F` to `α ≃+*o β`. -/
@@ -149,6 +171,8 @@ instance [Mul α] [Add α] [LE α] [Mul β] [Add β] [LE β] [OrderRingIsoClass
CoeTC F (α ≃+*o β) :=
⟨OrderRingIsoClass.toOrderRingIso⟩
+end Equiv
+
/-! ### Ordered ring homomorphisms -/
namespace OrderRingHom
@@ -170,25 +194,22 @@ def toOrderMonoidWithZeroHom (f : α →+*o β) : α →*₀o β :=
{ f with }
#align order_ring_hom.to_order_monoid_with_zero_hom OrderRingHom.toOrderMonoidWithZeroHom
-instance : OrderRingHomClass (α →+*o β) α β
+instance : FunLike (α →+*o β) α β
where
coe f := f.toFun
coe_injective' f g h := by
obtain ⟨⟨_, _⟩, _⟩ := f; obtain ⟨⟨_, _⟩, _⟩ := g; congr
-- porting note: needed to add the following line
- exact MonoidHom.monoidHomClass.coe_injective' h
+ exact DFunLike.coe_injective' h
+
+instance : OrderRingHomClass (α →+*o β) α β
+ where
map_mul f := f.map_mul'
map_one f := f.map_one'
map_add f := f.map_add'
map_zero f := f.map_zero'
monotone f := f.monotone'
--- porting note: These helper instances are unhelpful in Lean 4, so omitting:
--- /-- Helper instance for when there's too many metavariables to apply `DFunLike.has_coe_to_fun`
--- directly. -/
--- instance : CoeFun (α →+*o β) fun _ => α → β :=
--- ⟨fun f => f.toFun⟩
-
theorem toFun_eq_coe (f : α →+*o β) : f.toFun = f :=
rfl
#align order_ring_hom.to_fun_eq_coe OrderRingHom.toFun_eq_coe
@@ -366,7 +387,7 @@ def toOrderIso (f : α ≃+*o β) : α ≃o β :=
⟨f.toRingEquiv.toEquiv, f.map_le_map_iff'⟩
#align order_ring_iso.to_order_iso OrderRingIso.toOrderIso
-instance : OrderRingIsoClass (α ≃+*o β) α β
+instance : EquivLike (α ≃+*o β) α β
where
coe f := f.toFun
inv f := f.invFun
@@ -374,17 +395,14 @@ instance : OrderRingIsoClass (α ≃+*o β) α β
obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := f
obtain ⟨⟨⟨_, _⟩, _⟩, _⟩ := g
congr
- map_add f := f.map_add'
- map_mul f := f.map_mul'
- map_le_map_iff f _ _ := f.map_le_map_iff'
left_inv f := f.left_inv
right_inv f := f.right_inv
--- porting note: These helper instances are unhelpful in Lean 4, so omitting:
-/-- Helper instance for when there's too many metavariables to apply `DFunLike.has_coe_to_fun`
-directly. -/
--- instance : CoeFun (α ≃+*o β) fun _ => α → β :=
--- DFunLike.has_coe_to_fun
+instance : OrderRingIsoClass (α ≃+*o β) α β
+ where
+ map_add f := f.map_add'
+ map_mul f := f.map_mul'
+ map_le_map_iff f _ _ := f.map_le_map_iff'
theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
rfl
FunLike
to DFunLike
(#9785)
This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.
This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:
sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -184,7 +184,7 @@ instance : OrderRingHomClass (α →+*o β) α β
monotone f := f.monotone'
-- porting note: These helper instances are unhelpful in Lean 4, so omitting:
--- /-- Helper instance for when there's too many metavariables to apply `FunLike.has_coe_to_fun`
+-- /-- Helper instance for when there's too many metavariables to apply `DFunLike.has_coe_to_fun`
-- directly. -/
-- instance : CoeFun (α →+*o β) fun _ => α → β :=
-- ⟨fun f => f.toFun⟩
@@ -195,7 +195,7 @@ theorem toFun_eq_coe (f : α →+*o β) : f.toFun = f :=
@[ext]
theorem ext {f g : α →+*o β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align order_ring_hom.ext OrderRingHom.ext
@[simp]
@@ -255,7 +255,7 @@ theorem coe_copy (f : α →+*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f
#align order_ring_hom.coe_copy OrderRingHom.coe_copy
theorem copy_eq (f : α →+*o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align order_ring_hom.copy_eq OrderRingHom.copy_eq
variable (α)
@@ -329,7 +329,7 @@ theorem id_comp (f : α →+*o β) : (OrderRingHom.id β).comp f = f :=
@[simp]
theorem cancel_right {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Surjective g) :
f₁.comp g = f₂.comp g ↔ f₁ = f₂ :=
- ⟨fun h => ext <| hg.forall.2 <| FunLike.ext_iff.1 h, fun h => by rw [h]⟩
+ ⟨fun h => ext <| hg.forall.2 <| DFunLike.ext_iff.1 h, fun h => by rw [h]⟩
#align order_ring_hom.cancel_right OrderRingHom.cancel_right
@[simp]
@@ -346,7 +346,7 @@ instance [Preorder β] : Preorder (OrderRingHom α β) :=
Preorder.lift ((⇑) : _ → α → β)
instance [PartialOrder β] : PartialOrder (OrderRingHom α β) :=
- PartialOrder.lift _ FunLike.coe_injective
+ PartialOrder.lift _ DFunLike.coe_injective
end OrderRingHom
@@ -381,10 +381,10 @@ instance : OrderRingIsoClass (α ≃+*o β) α β
right_inv f := f.right_inv
-- porting note: These helper instances are unhelpful in Lean 4, so omitting:
-/-- Helper instance for when there's too many metavariables to apply `FunLike.has_coe_to_fun`
+/-- Helper instance for when there's too many metavariables to apply `DFunLike.has_coe_to_fun`
directly. -/
-- instance : CoeFun (α ≃+*o β) fun _ => α → β :=
--- FunLike.has_coe_to_fun
+-- DFunLike.has_coe_to_fun
theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
rfl
@@ -392,7 +392,7 @@ theorem toFun_eq_coe (f : α ≃+*o β) : f.toFun = f :=
@[ext]
theorem ext {f g : α ≃+*o β} (h : ∀ a, f a = g a) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align order_ring_iso.ext OrderRingIso.ext
@[simp]
@@ -420,9 +420,9 @@ theorem coe_toRingEquiv (f : α ≃+*o β) : ⇑(f : α ≃+* β) = f :=
rfl
#align order_ring_iso.coe_to_ring_equiv OrderRingIso.coe_toRingEquiv
--- Porting note: needed to add FunLike.coe on the lhs, bad Equiv coercion otherwise
+-- Porting note: needed to add DFunLike.coe on the lhs, bad Equiv coercion otherwise
@[simp, norm_cast]
-theorem coe_toOrderIso (f : α ≃+*o β) : FunLike.coe (f : α ≃o β) = f :=
+theorem coe_toOrderIso (f : α ≃+*o β) : DFunLike.coe (f : α ≃o β) = f :=
rfl
#align order_ring_iso.coe_to_order_iso OrderRingIso.coe_toOrderIso
@@ -537,7 +537,7 @@ theorem coe_toOrderRingHom_refl : (OrderRingIso.refl α : α →+*o α) = OrderR
#align order_ring_iso.coe_to_order_ring_hom_refl OrderRingIso.coe_toOrderRingHom_refl
theorem toOrderRingHom_injective : Injective (toOrderRingHom : α ≃+*o β → α →+*o β) :=
- fun f g h => FunLike.coe_injective <| by convert FunLike.ext'_iff.1 h using 0
+ fun f g h => DFunLike.coe_injective <| by convert DFunLike.ext'_iff.1 h using 0
#align order_ring_iso.to_order_ring_hom_injective OrderRingIso.toOrderRingHom_injective
end NonAssocSemiring
@@ -558,7 +558,7 @@ instance OrderRingHom.subsingleton [LinearOrderedField α] [LinearOrderedField
Subsingleton (α →+*o β) :=
⟨fun f g => by
ext x
- by_contra' h' : f x ≠ g x
+ by_contra! h' : f x ≠ g x
wlog h : f x < g x generalizing α β with h₂
-- porting note: had to add the `generalizing` as there are random variables
-- `F γ δ` flying around in context.
@@ -505,9 +505,8 @@ theorem symm_trans_self (e : α ≃+*o β) : e.symm.trans e = OrderRingIso.refl
ext e.right_inv
#align order_ring_iso.symm_trans_self OrderRingIso.symm_trans_self
-theorem symm_bijective : Bijective (OrderRingIso.symm : α ≃+*o β → β ≃+*o α) :=
- ⟨fun f g h => f.symm_symm.symm.trans <| (congr_arg OrderRingIso.symm h).trans g.symm_symm,
- fun f => ⟨f.symm, f.symm_symm⟩⟩
+theorem symm_bijective : Bijective (OrderRingIso.symm : (α ≃+*o β) → β ≃+*o α) :=
+ Function.bijective_iff_has_inverse.mpr ⟨_, symm_symm, symm_symm⟩
#align order_ring_iso.symm_bijective OrderRingIso.symm_bijective
end LE
@@ -326,10 +326,13 @@ theorem id_comp (f : α →+*o β) : (OrderRingHom.id β).comp f = f :=
rfl
#align order_ring_hom.id_comp OrderRingHom.id_comp
+@[simp]
theorem cancel_right {f₁ f₂ : β →+*o γ} {g : α →+*o β} (hg : Surjective g) :
f₁.comp g = f₂.comp g ↔ f₁ = f₂ :=
⟨fun h => ext <| hg.forall.2 <| FunLike.ext_iff.1 h, fun h => by rw [h]⟩
#align order_ring_hom.cancel_right OrderRingHom.cancel_right
+
+@[simp]
theorem cancel_left {f : β →+*o γ} {g₁ g₂ : α →+*o β} (hf : Injective f) :
f.comp g₁ = f.comp g₂ ↔ g₁ = g₂ :=
⟨fun h => ext fun a => hf <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -33,15 +33,15 @@ ordered ring homomorphism, order homomorphism
open Function
-variable {F α β γ δ : Type _}
+variable {F α β γ δ : Type*}
/-- `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)`.
+you should parametrize over `(F : Type*) [OrderRingHomClass F α β] (f : F)`.
When you extend this structure, make sure to extend `OrderRingHomClass`. -/
-structure OrderRingHom (α β : Type _) [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β]
+structure OrderRingHom (α β : Type*) [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β]
[Preorder β] extends α →+* β where
/-- The proposition that the function preserves the order. -/
monotone' : Monotone toFun
@@ -66,7 +66,7 @@ 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`. -/
-structure OrderRingIso (α β : Type _) [Mul α] [Mul β] [Add α] [Add β] [LE α] [LE β] extends
+structure OrderRingIso (α β : Type*) [Mul α] [Mul β] [Add α] [Add β] [LE α] [LE β] extends
α ≃+* β where
/-- The proposition that the function preserves the order bijectively. -/
map_le_map_iff' {a b : α} : toFun a ≤ toFun b ↔ a ≤ b
@@ -77,7 +77,7 @@ infixl:25 " ≃+*o " => OrderRingIso
/-- `OrderRingHomClass F α β` states that `F` is a type of ordered semiring homomorphisms.
You should extend this typeclass when you extend `OrderRingHom`. -/
-class OrderRingHomClass (F : Type _) (α β : outParam <| Type _) [NonAssocSemiring α] [Preorder α]
+class OrderRingHomClass (F : Type*) (α β : outParam <| Type*) [NonAssocSemiring α] [Preorder α]
[NonAssocSemiring β] [Preorder β] extends RingHomClass F α β where
/-- The proposition that the function preserves the order. -/
monotone (f : F) : Monotone f
@@ -85,7 +85,7 @@ class OrderRingHomClass (F : Type _) (α β : outParam <| Type _) [NonAssocSemir
/-- `OrderRingIsoClass F α β` states that `F` is a type of ordered semiring isomorphisms.
You should extend this class when you extend `OrderRingIso`. -/
-class OrderRingIsoClass (F : Type _) (α β : outParam (Type _)) [Mul α] [Add α] [LE α] [Mul β]
+class OrderRingIsoClass (F : Type*) (α β : outParam (Type*)) [Mul α] [Add α] [LE α] [Mul β]
[Add β] [LE β] extends RingEquivClass F α β where
/-- The proposition that the function preserves the order bijectively. -/
map_le_map_iff (f : F) {a b : α} : f a ≤ f b ↔ a ≤ b
@@ -38,7 +38,7 @@ variable {F α β γ δ : Type _}
/-- `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)`.
+you should parametrize over `(F : Type _) [OrderRingHomClass F α β] (f : F)`.
When you extend this structure, make sure to extend `OrderRingHomClass`. -/
structure OrderRingHom (α β : Type _) [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β]
@@ -281,20 +281,20 @@ theorem id_apply (a : α) : OrderRingHom.id α a = a :=
#align order_ring_hom.id_apply OrderRingHom.id_apply
@[simp]
-theorem coe_RingHom_id : (OrderRingHom.id α : α →+* α) = RingHom.id α :=
+theorem coe_ringHom_id : (OrderRingHom.id α : α →+* α) = RingHom.id α :=
rfl
-#align order_ring_hom.coe_ring_hom_id OrderRingHom.coe_RingHom_id
+#align order_ring_hom.coe_ring_hom_id OrderRingHom.coe_ringHom_id
@[simp]
-theorem coe_OrderAddMonoidHom_id : (OrderRingHom.id α : α →+o α) = OrderAddMonoidHom.id α :=
+theorem coe_orderAddMonoidHom_id : (OrderRingHom.id α : α →+o α) = OrderAddMonoidHom.id α :=
rfl
-#align order_ring_hom.coe_order_add_monoid_hom_id OrderRingHom.coe_OrderAddMonoidHom_id
+#align order_ring_hom.coe_order_add_monoid_hom_id OrderRingHom.coe_orderAddMonoidHom_id
@[simp]
-theorem coe_OrderMonoidWithZeroHom_id :
+theorem coe_orderMonoidWithZeroHom_id :
(OrderRingHom.id α : α →*₀o α) = OrderMonoidWithZeroHom.id α :=
rfl
-#align order_ring_hom.coe_order_monoid_with_zero_hom_id OrderRingHom.coe_OrderMonoidWithZeroHom_id
+#align order_ring_hom.coe_order_monoid_with_zero_hom_id OrderRingHom.coe_orderMonoidWithZeroHom_id
/-- Composition of two `OrderRingHom`s as an `OrderRingHom`. -/
protected def comp (f : β →+*o γ) (g : α →+*o β) : α →+*o γ :=
@@ -2,17 +2,14 @@
Copyright (c) 2022 Alex J. Best, Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Alex J. Best, Yaël Dillies
-
-! This file was ported from Lean 3 source module algebra.order.hom.ring
-! leanprover-community/mathlib commit 92ca63f0fb391a9ca5f22d2409a6080e786d99f7
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.Order.Archimedean
import Mathlib.Algebra.Order.Hom.Monoid
import Mathlib.Algebra.Order.Ring.Defs
import Mathlib.Algebra.Ring.Equiv
+#align_import algebra.order.hom.ring from "leanprover-community/mathlib"@"92ca63f0fb391a9ca5f22d2409a6080e786d99f7"
+
/-!
# Ordered ring homomorphisms
@@ -110,7 +110,7 @@ instance (priority := 100) OrderRingHomClass.toOrderMonoidWithZeroHomClass [NonA
-- See note [lower instance priority]
instance (priority := 100) OrderRingIsoClass.toOrderIsoClass [Mul α] [Add α] [LE α]
- [Mul β] [Add β] [LE β] [OrderRingIsoClass F α β] : OrderIsoClass F α β :=
+ [Mul β] [Add β] [LE β] [OrderRingIsoClass F α β] : OrderIsoClass F α β :=
{ ‹OrderRingIsoClass F α β› with }
#align order_ring_iso_class.to_order_iso_class OrderRingIsoClass.toOrderIsoClass
@@ -129,7 +129,7 @@ instance (priority := 100) OrderRingIsoClass.toOrderRingHomClass [NonAssocSemiri
`OrderRingHom`. This is declared as the default coercion from `F` to `α →+*o β`. -/
@[coe]
def OrderRingHomClass.toOrderRingHom [NonAssocSemiring α] [Preorder α] [NonAssocSemiring β]
- [Preorder β] [OrderRingHomClass F α β] (f : F) : α →+*o β :=
+ [Preorder β] [OrderRingHomClass F α β] (f : F) : α →+*o β :=
{ (f : α →+* β) with monotone' := monotone f}
/-- Any type satisfying `OrderRingHomClass` can be cast into `OrderRingHom` via
@@ -246,7 +246,7 @@ theorem coe_orderMonoidWithZeroHom_apply (f : α →+*o β) (a : α) : (f : α
rfl
#align order_ring_hom.coe_order_monoid_with_zero_hom_apply OrderRingHom.coe_orderMonoidWithZeroHom_apply
-/-- Copy of a `OrderRingHom` with a new `toFun` equal to the old one. Useful to fix definitional
+/-- Copy of an `OrderRingHom` with a new `toFun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : α →+*o β) (f' : α → β) (h : f' = f) : α →+*o β :=
{ f.toRingHom.copy f' h, f.toOrderAddMonoidHom.copy f' h with }
@@ -480,12 +480,12 @@ protected def trans (f : α ≃+*o β) (g : β ≃+*o γ) : α ≃+*o γ :=
/- Porting note: Used to be generated by [simps] on `trans`, but the lhs of this simplifies under
simp, so problem with the simpNF linter. Removed [simps] attribute and added aux version below. -/
-theorem trans_toRingEquiv (f : α ≃+*o β) (g : β ≃+*o γ):
+theorem trans_toRingEquiv (f : α ≃+*o β) (g : β ≃+*o γ) :
(OrderRingIso.trans f g).toRingEquiv = RingEquiv.trans f.toRingEquiv g.toRingEquiv :=
rfl
@[simp]
-theorem trans_toRingEquiv_aux (f : α ≃+*o β) (g : β ≃+*o γ):
+theorem trans_toRingEquiv_aux (f : α ≃+*o β) (g : β ≃+*o γ) :
RingEquivClass.toRingEquiv (OrderRingIso.trans f g)
= RingEquiv.trans f.toRingEquiv g.toRingEquiv :=
rfl
This makes a mathlib4 version of mathlib3's tactic.basic
, now called Mathlib.Tactic.Common
, which imports all tactics which do not have significant theory requirements, and then is imported all across the base of the hierarchy.
This ensures that all common tactics are available nearly everywhere in the library, rather than having to be imported one-by-one as you need them.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@@ -12,9 +12,6 @@ import Mathlib.Algebra.Order.Archimedean
import Mathlib.Algebra.Order.Hom.Monoid
import Mathlib.Algebra.Order.Ring.Defs
import Mathlib.Algebra.Ring.Equiv
-import Mathlib.Tactic.ByContra
-import Mathlib.Tactic.SwapVar
-import Mathlib.Tactic.WLOG
/-!
# Ordered ring homomorphisms
This PR fixes two things:
align
statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align
). This is often seen in the mathport output after ending calc
blocks.#align
statements. (This was needed for a script I wrote for #3630.)@@ -102,18 +102,14 @@ instance (priority := 100) OrderRingHomClass.toOrderAddMonoidHomClass [NonAssocS
[Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingHomClass F α β] :
OrderAddMonoidHomClass F α β :=
{ ‹OrderRingHomClass F α β› with }
-#align
- order_ring_hom_class.to_order_add_monoid_hom_class
- OrderRingHomClass.toOrderAddMonoidHomClass
+#align order_ring_hom_class.to_order_add_monoid_hom_class OrderRingHomClass.toOrderAddMonoidHomClass
-- See note [lower priority instance]
instance (priority := 100) OrderRingHomClass.toOrderMonoidWithZeroHomClass [NonAssocSemiring α]
[Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingHomClass F α β] :
OrderMonoidWithZeroHomClass F α β :=
{ ‹OrderRingHomClass F α β› with }
-#align
- order_ring_hom_class.to_order_monoid_with_zero_hom_class
- OrderRingHomClass.toOrderMonoidWithZeroHomClass
+#align order_ring_hom_class.to_order_monoid_with_zero_hom_class OrderRingHomClass.toOrderMonoidWithZeroHomClass
-- See note [lower instance priority]
instance (priority := 100) OrderRingIsoClass.toOrderIsoClass [Mul α] [Add α] [LE α]
@@ -236,8 +232,7 @@ theorem coe_coe_orderAddMonoidHom (f : α →+*o β) : ⇑(f : α →+o β) = f
@[simp]
theorem coe_coe_orderMonoidWithZeroHom (f : α →+*o β) : ⇑(f : α →*₀o β) = f :=
rfl
-#align
- order_ring_hom.coe_coe_order_monoid_with_zero_hom OrderRingHom.coe_coe_orderMonoidWithZeroHom
+#align order_ring_hom.coe_coe_order_monoid_with_zero_hom OrderRingHom.coe_coe_orderMonoidWithZeroHom
@[norm_cast]
theorem coe_ringHom_apply (f : α →+*o β) (a : α) : (f : α →+* β) a = f a :=
@@ -252,9 +247,7 @@ theorem coe_orderAddMonoidHom_apply (f : α →+*o β) (a : α) : (f : α →+o
@[norm_cast]
theorem coe_orderMonoidWithZeroHom_apply (f : α →+*o β) (a : α) : (f : α →*₀o β) a = f a :=
rfl
-#align
- order_ring_hom.coe_order_monoid_with_zero_hom_apply
- OrderRingHom.coe_orderMonoidWithZeroHom_apply
+#align order_ring_hom.coe_order_monoid_with_zero_hom_apply OrderRingHom.coe_orderMonoidWithZeroHom_apply
/-- Copy of a `OrderRingHom` with a new `toFun` equal to the old one. Useful to fix definitional
equalities. -/
@@ -307,8 +300,7 @@ theorem coe_OrderAddMonoidHom_id : (OrderRingHom.id α : α →+o α) = OrderAdd
theorem coe_OrderMonoidWithZeroHom_id :
(OrderRingHom.id α : α →*₀o α) = OrderMonoidWithZeroHom.id α :=
rfl
-#align
- order_ring_hom.coe_order_monoid_with_zero_hom_id OrderRingHom.coe_OrderMonoidWithZeroHom_id
+#align order_ring_hom.coe_order_monoid_with_zero_hom_id OrderRingHom.coe_OrderMonoidWithZeroHom_id
/-- Composition of two `OrderRingHom`s as an `OrderRingHom`. -/
protected def comp (f : β →+*o γ) (g : α →+*o β) : α →+*o γ :=
@@ -98,8 +98,8 @@ class OrderRingIsoClass (F : Type _) (α β : outParam (Type _)) [Mul α] [Add
#align order_ring_iso_class OrderRingIsoClass
-- See note [lower priority instance]
-instance (priority := 100) OrderRingHomClass.toOrderAddMonoidHomClass {_ :NonAssocSemiring α}
- {_ : Preorder α} {_ :NonAssocSemiring β} {_ : Preorder β} [OrderRingHomClass F α β] :
+instance (priority := 100) OrderRingHomClass.toOrderAddMonoidHomClass [NonAssocSemiring α]
+ [Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingHomClass F α β] :
OrderAddMonoidHomClass F α β :=
{ ‹OrderRingHomClass F α β› with }
#align
@@ -107,8 +107,8 @@ instance (priority := 100) OrderRingHomClass.toOrderAddMonoidHomClass {_ :NonAss
OrderRingHomClass.toOrderAddMonoidHomClass
-- See note [lower priority instance]
-instance (priority := 100) OrderRingHomClass.toOrderMonoidWithZeroHomClass {_ : NonAssocSemiring α}
- {_ : Preorder α} {_ : NonAssocSemiring β} {_ : Preorder β} [OrderRingHomClass F α β] :
+instance (priority := 100) OrderRingHomClass.toOrderMonoidWithZeroHomClass [NonAssocSemiring α]
+ [Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingHomClass F α β] :
OrderMonoidWithZeroHomClass F α β :=
{ ‹OrderRingHomClass F α β› with }
#align
@@ -116,15 +116,14 @@ instance (priority := 100) OrderRingHomClass.toOrderMonoidWithZeroHomClass {_ :
OrderRingHomClass.toOrderMonoidWithZeroHomClass
-- See note [lower instance priority]
--- porting note: replaced []'s with {_ : }'s to prevent dangerous instances
-instance (priority := 100) OrderRingIsoClass.toOrderIsoClass {_ : Mul α} {_ : Add α} {_ :LE α}
- {_ :Mul β} {_ :Add β} {_ : LE β} [OrderRingIsoClass F α β] : OrderIsoClass F α β :=
+instance (priority := 100) OrderRingIsoClass.toOrderIsoClass [Mul α] [Add α] [LE α]
+ [Mul β] [Add β] [LE β] [OrderRingIsoClass F α β] : OrderIsoClass F α β :=
{ ‹OrderRingIsoClass F α β› with }
#align order_ring_iso_class.to_order_iso_class OrderRingIsoClass.toOrderIsoClass
-- See note [lower instance priority]
-instance (priority := 100) OrderRingIsoClass.toOrderRingHomClass {_ :NonAssocSemiring α}
- {_ : Preorder α} {_ :NonAssocSemiring β} {_ : Preorder β} [OrderRingIsoClass F α β] :
+instance (priority := 100) OrderRingIsoClass.toOrderRingHomClass [NonAssocSemiring α]
+ [Preorder α] [NonAssocSemiring β] [Preorder β] [OrderRingIsoClass F α β] :
OrderRingHomClass F α β :=
{ monotone := fun f _ _ => (map_le_map_iff f).2
-- porting note: used to be the following which times out
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Alex J. Best, Yaël Dillies
! This file was ported from Lean 3 source module algebra.order.hom.ring
-! leanprover-community/mathlib commit a2d2e18906e2b62627646b5d5be856e6a642062f
+! leanprover-community/mathlib commit 92ca63f0fb391a9ca5f22d2409a6080e786d99f7
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -14,6 +14,7 @@ import Mathlib.Algebra.Order.Ring.Defs
import Mathlib.Algebra.Ring.Equiv
import Mathlib.Tactic.ByContra
import Mathlib.Tactic.SwapVar
+import Mathlib.Tactic.WLOG
/-!
# Ordered ring homomorphisms
@@ -570,19 +571,17 @@ instance OrderRingHom.subsingleton [LinearOrderedField α] [LinearOrderedField
Subsingleton (α →+*o β) :=
⟨fun f g => by
ext x
- by_contra' h
- cases' Ne.lt_or_lt h with h h
- on_goal 2 => swap_var f ↔ g
- all_goals
- -- porting note: the above three lines used to be:
- -- wlog h : f x < g x using f g, g f
- -- · exact Ne.lt_or_lt h
- obtain ⟨q, hf, hg⟩ := exists_rat_btwn h
- rw [← map_ratCast f] at hf
- rw [← map_ratCast g] at hg
- exact
- (lt_asymm ((OrderHomClass.mono g).reflect_lt hg) <|
- (OrderHomClass.mono f).reflect_lt hf).elim⟩
+ by_contra' h' : f x ≠ g x
+ wlog h : f x < g x generalizing α β with h₂
+ -- porting note: had to add the `generalizing` as there are random variables
+ -- `F γ δ` flying around in context.
+ · exact h₂ g f x (Ne.symm h') (h'.lt_or_lt.resolve_left h)
+ obtain ⟨q, hf, hg⟩ := exists_rat_btwn h
+ rw [← map_ratCast f] at hf
+ rw [← map_ratCast g] at hg
+ exact
+ (lt_asymm ((OrderHomClass.mono g).reflect_lt hg) <|
+ (OrderHomClass.mono f).reflect_lt hf).elim⟩
#align order_ring_hom.subsingleton OrderRingHom.subsingleton
/-- There is at most one ordered ring isomorphism between a linear ordered field and an archimedean
congr!
and convert
(#2606)
congr!
, convert
, and convert_to
to control parts of the congruence algorithm, in particular transparency settings when applying congruence lemmas.congr!
now applies congruence lemmas with reducible transparency by default. This prevents it from unfolding definitions when applying congruence lemmas. It also now tries both the LHS-biased and RHS-biased simp congruence lemmas, with a configuration option to set which it should try first.HEq
congruence lemma generator that gives each hypothesis access to the proofs of previous hypotheses. This means that if you have an equality ⊢ ⟨a, x⟩ = ⟨b, y⟩
of sigma types, congr!
turns this into goals ⊢ a = b
and ⊢ a = b → HEq x y
(note that congr!
will also auto-introduce a = b
for you in the second goal). This congruence lemma generator applies to more cases than the simp congruence lemma generator does.congr!
(and hence convert
) are more careful about applying lemmas that don't force definitions to unfold. There were a number of cases in mathlib where the implementation of congr
was being abused to unfold definitions.set_option trace.congr! true
you can see what congr!
sees when it is deciding on congruence lemmas.convert_to
to do using 1
when there is no using
clause, to match its documentation.Note that congr!
is more capable than congr
at finding a way to equate left-hand sides and right-hand sides, so you will frequently need to limit its depth with a using
clause. However, there is also a new heuristic to prevent considering unlikely-to-be-provable type equalities (controlled by the typeEqs
option), which can help limit the depth automatically.
There is also a predefined configuration that you can invoke with, for example, convert (config := .unfoldSameFun) h
, that causes it to behave more like congr
, including using default transparency when unfolding.
@@ -549,7 +549,7 @@ theorem coe_toOrderRingHom_refl : (OrderRingIso.refl α : α →+*o α) = OrderR
#align order_ring_iso.coe_to_order_ring_hom_refl OrderRingIso.coe_toOrderRingHom_refl
theorem toOrderRingHom_injective : Injective (toOrderRingHom : α ≃+*o β → α →+*o β) :=
- fun f g h => FunLike.coe_injective <| by convert FunLike.ext'_iff.1 h
+ fun f g h => FunLike.coe_injective <| by convert FunLike.ext'_iff.1 h using 0
#align order_ring_iso.to_order_ring_hom_injective OrderRingIso.toOrderRingHom_injective
end NonAssocSemiring
@@ -474,9 +474,9 @@ protected def symm (e : α ≃+*o β) : β ≃+*o α :=
#align order_ring_iso.symm OrderRingIso.symm
/-- See Note [custom simps projection] -/
-def Simps.symmApply (e : α ≃+*o β) : β → α :=
+def Simps.symm_apply (e : α ≃+*o β) : β → α :=
e.symm
-#align order_ring_iso.simps.symm_apply OrderRingIso.Simps.symmApply
+#align order_ring_iso.simps.symm_apply OrderRingIso.Simps.symm_apply
@[simp]
theorem symm_symm (e : α ≃+*o β) : e.symm.symm = e :=
Worked around https://github.com/leanprover-community/mathlib4/issues/2505, but finally everything works.
The unported dependencies are