algebra.order.hom.monoidMathlib.Algebra.Order.Hom.Monoid

This file has been ported!

Changes since the initial port

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.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -6,7 +6,7 @@ Authors: Yaël Dillies
 import Algebra.Group.Pi.Basic
 import Algebra.Group.Hom.Defs
 import Algebra.Order.Group.Instances
-import Algebra.Order.Monoid.WithZero
+import Algebra.Order.Monoid.WithZero.Defs
 import Order.Hom.Basic
 
 #align_import algebra.order.hom.monoid from "leanprover-community/mathlib"@"448144f7ae193a8990cb7473c9e9a01990f64ac7"
Diff
@@ -3,10 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
 -/
-import Data.Pi.Algebra
-import Algebra.Hom.Group
+import Algebra.Group.Pi.Basic
+import Algebra.Group.Hom.Defs
 import Algebra.Order.Group.Instances
-import Algebra.Order.Monoid.WithZero.Defs
+import Algebra.Order.Monoid.WithZero
 import Order.Hom.Basic
 
 #align_import algebra.order.hom.monoid from "leanprover-community/mathlib"@"448144f7ae193a8990cb7473c9e9a01990f64ac7"
Diff
@@ -83,7 +83,6 @@ infixr:25 " →+o " => OrderAddMonoidHom
 
 section
 
-#print OrderAddMonoidHomClass /-
 /-- `order_add_monoid_hom_class F α β` states that `F` is a type of ordered monoid homomorphisms.
 
 You should also extend this typeclass when you extend `order_add_monoid_hom`. -/
@@ -91,7 +90,6 @@ class OrderAddMonoidHomClass (F : Type _) (α β : outParam <| Type _) [Preorder
     [AddZeroClass α] [AddZeroClass β] extends AddMonoidHomClass F α β where
   Monotone (f : F) : Monotone f
 #align order_add_monoid_hom_class OrderAddMonoidHomClass
--/
 
 end
 
@@ -123,7 +121,6 @@ infixr:25 " →*o " => OrderMonoidHom
 
 section
 
-#print OrderMonoidHomClass /-
 /-- `order_monoid_hom_class F α β` states that `F` is a type of ordered monoid homomorphisms.
 
 You should also extend this typeclass when you extend `order_monoid_hom`. -/
@@ -133,19 +130,16 @@ class OrderMonoidHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α
   Monotone (f : F) : Monotone f
 #align order_monoid_hom_class OrderMonoidHomClass
 #align order_add_monoid_hom_class OrderAddMonoidHomClass
--/
 
 end
 
-#print OrderMonoidHomClass.toOrderHomClass /-
 -- See note [lower instance priority]
 @[to_additive]
 instance (priority := 100) OrderMonoidHomClass.toOrderHomClass [OrderMonoidHomClass F α β] :
     OrderHomClass F α β :=
   { ‹OrderMonoidHomClass F α β› with mapRel := OrderMonoidHomClass.monotone }
 #align order_monoid_hom_class.to_order_hom_class OrderMonoidHomClass.toOrderHomClass
-#align order_add_monoid_hom_class.to_order_hom_class OrderAddMonoidHomClass.toOrderHomClass
--/
+#align order_add_monoid_hom_class.to_order_hom_class OrderAddMonoidHomClass.to_order_hom_class
 
 @[to_additive]
 instance [OrderMonoidHomClass F α β] : CoeTC F (α →*o β) :=
@@ -181,7 +175,6 @@ infixr:25 " →*₀o " => OrderMonoidWithZeroHom
 
 section
 
-#print OrderMonoidWithZeroHomClass /-
 /-- `order_monoid_with_zero_hom_class F α β` states that `F` is a type of
 ordered monoid with zero homomorphisms.
 
@@ -190,17 +183,14 @@ class OrderMonoidWithZeroHomClass (F : Type _) (α β : outParam <| Type _) [Pre
     [MulZeroOneClass α] [MulZeroOneClass β] extends MonoidWithZeroHomClass F α β where
   Monotone (f : F) : Monotone f
 #align order_monoid_with_zero_hom_class OrderMonoidWithZeroHomClass
--/
 
 end
 
-#print OrderMonoidWithZeroHomClass.toOrderMonoidHomClass /-
 -- See note [lower instance priority]
 instance (priority := 100) OrderMonoidWithZeroHomClass.toOrderMonoidHomClass
     [OrderMonoidWithZeroHomClass F α β] : OrderMonoidHomClass F α β :=
   { ‹OrderMonoidWithZeroHomClass F α β› with }
 #align order_monoid_with_zero_hom_class.to_order_monoid_hom_class OrderMonoidWithZeroHomClass.toOrderMonoidHomClass
--/
 
 instance [OrderMonoidWithZeroHomClass F α β] : CoeTC F (α →*₀o β) :=
   ⟨fun f =>
Diff
@@ -142,7 +142,7 @@ end
 @[to_additive]
 instance (priority := 100) OrderMonoidHomClass.toOrderHomClass [OrderMonoidHomClass F α β] :
     OrderHomClass F α β :=
-  { ‹OrderMonoidHomClass F α β› with map_rel := OrderMonoidHomClass.monotone }
+  { ‹OrderMonoidHomClass F α β› with mapRel := OrderMonoidHomClass.monotone }
 #align order_monoid_hom_class.to_order_hom_class OrderMonoidHomClass.toOrderHomClass
 #align order_add_monoid_hom_class.to_order_hom_class OrderAddMonoidHomClass.toOrderHomClass
 -/
Diff
@@ -308,13 +308,13 @@ directly. -/
 @[to_additive
       "Helper instance for when there's too many metavariables to apply\n`fun_like.has_coe_to_fun` directly."]
 instance : CoeFun (α →*o β) fun _ => α → β :=
-  FunLike.hasCoeToFun
+  DFunLike.hasCoeToFun
 
 #print OrderMonoidHom.ext /-
 -- Other lemmas should be accessed through the `fun_like` API
 @[ext, to_additive]
 theorem ext (h : ∀ a, f a = g a) : f = g :=
-  FunLike.ext f g h
+  DFunLike.ext f g h
 #align order_monoid_hom.ext OrderMonoidHom.ext
 #align order_add_monoid_hom.ext OrderAddMonoidHom.ext
 -/
@@ -370,7 +370,7 @@ theorem coe_orderHom (f : α →*o β) : ((f : α →o β) : α → β) = f :=
 #print OrderMonoidHom.toMonoidHom_injective /-
 @[to_additive]
 theorem toMonoidHom_injective : Injective (toMonoidHom : _ → α →* β) := fun f g h =>
-  ext <| by convert FunLike.ext_iff.1 h
+  ext <| by convert DFunLike.ext_iff.1 h
 #align order_monoid_hom.to_monoid_hom_injective OrderMonoidHom.toMonoidHom_injective
 #align order_add_monoid_hom.to_add_monoid_hom_injective OrderAddMonoidHom.toAddMonoidHom_injective
 -/
@@ -378,7 +378,7 @@ theorem toMonoidHom_injective : Injective (toMonoidHom : _ → α →* β) := fu
 #print OrderMonoidHom.toOrderHom_injective /-
 @[to_additive]
 theorem toOrderHom_injective : Injective (toOrderHom : _ → α →o β) := fun f g h =>
-  ext <| by convert FunLike.ext_iff.1 h
+  ext <| by convert DFunLike.ext_iff.1 h
 #align order_monoid_hom.to_order_hom_injective OrderMonoidHom.toOrderHom_injective
 #align order_add_monoid_hom.to_order_hom_injective OrderAddMonoidHom.toOrderHom_injective
 -/
@@ -407,7 +407,7 @@ theorem coe_copy (f : α →*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f'
 #print OrderMonoidHom.copy_eq /-
 @[to_additive]
 theorem copy_eq (f : α →*o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
-  FunLike.ext' h
+  DFunLike.ext' h
 #align order_monoid_hom.copy_eq OrderMonoidHom.copy_eq
 #align order_add_monoid_hom.copy_eq OrderAddMonoidHom.copy_eq
 -/
@@ -508,7 +508,7 @@ theorem id_comp (f : α →*o β) : (OrderMonoidHom.id β).comp f = f :=
 @[to_additive]
 theorem cancel_right {g₁ g₂ : β →*o γ} {f : α →*o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
-  ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
+  ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg _⟩
 #align order_monoid_hom.cancel_right OrderMonoidHom.cancel_right
 #align order_add_monoid_hom.cancel_right OrderAddMonoidHom.cancel_right
 -/
@@ -664,13 +664,13 @@ instance : OrderMonoidWithZeroHomClass (α →*₀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 OrderMonoidWithZeroHom.ext /-
 -- Other lemmas should be accessed through the `fun_like` API
 @[ext]
 theorem ext (h : ∀ a, f a = g a) : f = g :=
-  FunLike.ext f g h
+  DFunLike.ext f g h
 #align order_monoid_with_zero_hom.ext OrderMonoidWithZeroHom.ext
 -/
 
@@ -716,13 +716,13 @@ theorem coe_orderMonoidHom (f : α →*₀o β) : ⇑(f : α →*o β) = f :=
 
 #print OrderMonoidWithZeroHom.toOrderMonoidHom_injective /-
 theorem toOrderMonoidHom_injective : Injective (toOrderMonoidHom : _ → α →*o β) := fun f g h =>
-  ext <| by convert FunLike.ext_iff.1 h
+  ext <| by convert DFunLike.ext_iff.1 h
 #align order_monoid_with_zero_hom.to_order_monoid_hom_injective OrderMonoidWithZeroHom.toOrderMonoidHom_injective
 -/
 
 #print OrderMonoidWithZeroHom.toMonoidWithZeroHom_injective /-
 theorem toMonoidWithZeroHom_injective : Injective (toMonoidWithZeroHom : _ → α →*₀ β) :=
-  fun f g h => ext <| by convert FunLike.ext_iff.1 h
+  fun f g h => ext <| by convert DFunLike.ext_iff.1 h
 #align order_monoid_with_zero_hom.to_monoid_with_zero_hom_injective OrderMonoidWithZeroHom.toMonoidWithZeroHom_injective
 -/
 
@@ -743,7 +743,7 @@ theorem coe_copy (f : α →*₀o β) (f' : α → β) (h : f' = f) : ⇑(f.copy
 
 #print OrderMonoidWithZeroHom.copy_eq /-
 theorem copy_eq (f : α →*₀o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
-  FunLike.ext' h
+  DFunLike.ext' h
 #align order_monoid_with_zero_hom.copy_eq OrderMonoidWithZeroHom.copy_eq
 -/
 
@@ -830,7 +830,7 @@ theorem id_comp (f : α →*₀o β) : (OrderMonoidWithZeroHom.id β).comp f = f
 #print OrderMonoidWithZeroHom.cancel_right /-
 theorem cancel_right {g₁ g₂ : β →*₀o γ} {f : α →*₀o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
-  ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
+  ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, congr_arg _⟩
 #align order_monoid_with_zero_hom.cancel_right OrderMonoidWithZeroHom.cancel_right
 -/
 
Diff
@@ -3,11 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
 -/
-import Mathbin.Data.Pi.Algebra
-import Mathbin.Algebra.Hom.Group
-import Mathbin.Algebra.Order.Group.Instances
-import Mathbin.Algebra.Order.Monoid.WithZero.Defs
-import Mathbin.Order.Hom.Basic
+import Data.Pi.Algebra
+import Algebra.Hom.Group
+import Algebra.Order.Group.Instances
+import Algebra.Order.Monoid.WithZero.Defs
+import Order.Hom.Basic
 
 #align_import algebra.order.hom.monoid from "leanprover-community/mathlib"@"448144f7ae193a8990cb7473c9e9a01990f64ac7"
 
Diff
@@ -299,7 +299,7 @@ instance : OrderMonoidHomClass (α →*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'
   Monotone f := f.monotone'
 
@@ -656,7 +656,7 @@ instance : OrderMonoidWithZeroHomClass (α →*₀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_zero f := f.map_zero'
   Monotone f := f.monotone'
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2022 Yaël Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
-
-! This file was ported from Lean 3 source module algebra.order.hom.monoid
-! leanprover-community/mathlib commit 448144f7ae193a8990cb7473c9e9a01990f64ac7
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Data.Pi.Algebra
 import Mathbin.Algebra.Hom.Group
@@ -14,6 +9,8 @@ import Mathbin.Algebra.Order.Group.Instances
 import Mathbin.Algebra.Order.Monoid.WithZero.Defs
 import Mathbin.Order.Hom.Basic
 
+#align_import algebra.order.hom.monoid from "leanprover-community/mathlib"@"448144f7ae193a8990cb7473c9e9a01990f64ac7"
+
 /-!
 # Ordered monoid and group homomorphisms
 
Diff
@@ -82,7 +82,6 @@ structure OrderAddMonoidHom (α β : Type _) [Preorder α] [Preorder β] [AddZer
 #align order_add_monoid_hom OrderAddMonoidHom
 -/
 
--- mathport name: «expr →+o »
 infixr:25 " →+o " => OrderAddMonoidHom
 
 section
@@ -123,7 +122,6 @@ structure OrderMonoidHom (α β : Type _) [Preorder α] [Preorder β] [MulOneCla
 #align order_add_monoid_hom OrderAddMonoidHom
 -/
 
--- mathport name: «expr →*o »
 infixr:25 " →*o " => OrderMonoidHom
 
 section
@@ -182,7 +180,6 @@ structure OrderMonoidWithZeroHom (α β : Type _) [Preorder α] [Preorder β] [M
 #align order_monoid_with_zero_hom OrderMonoidWithZeroHom
 -/
 
--- mathport name: «expr →*₀o »
 infixr:25 " →*₀o " => OrderMonoidWithZeroHom
 
 section
@@ -223,13 +220,15 @@ section OrderedAddCommMonoid
 variable [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [OrderAddMonoidHomClass F α β] (f : F)
   {a : α}
 
-include β
-
+#print map_nonneg /-
 theorem map_nonneg (ha : 0 ≤ a) : 0 ≤ f a := by rw [← map_zero f]; exact OrderHomClass.mono _ ha
 #align map_nonneg map_nonneg
+-/
 
+#print map_nonpos /-
 theorem map_nonpos (ha : a ≤ 0) : f a ≤ 0 := by rw [← map_zero f]; exact OrderHomClass.mono _ ha
 #align map_nonpos map_nonpos
+-/
 
 end OrderedAddCommMonoid
 
@@ -237,41 +236,57 @@ section OrderedAddCommGroup
 
 variable [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [AddMonoidHomClass F α β] (f : F)
 
+#print monotone_iff_map_nonneg /-
 theorem monotone_iff_map_nonneg : Monotone (f : α → β) ↔ ∀ a, 0 ≤ a → 0 ≤ f a :=
   ⟨fun h a => by rw [← map_zero f]; apply h, fun h a b hl => by
     rw [← sub_add_cancel b a, map_add f]; exact le_add_of_nonneg_left (h _ <| sub_nonneg.2 hl)⟩
 #align monotone_iff_map_nonneg monotone_iff_map_nonneg
+-/
 
+#print antitone_iff_map_nonpos /-
 theorem antitone_iff_map_nonpos : Antitone (f : α → β) ↔ ∀ a, 0 ≤ a → f a ≤ 0 :=
   monotone_toDual_comp_iff.symm.trans <| monotone_iff_map_nonneg _
 #align antitone_iff_map_nonpos antitone_iff_map_nonpos
+-/
 
+#print monotone_iff_map_nonpos /-
 theorem monotone_iff_map_nonpos : Monotone (f : α → β) ↔ ∀ a ≤ 0, f a ≤ 0 :=
   antitone_comp_ofDual_iff.symm.trans <| antitone_iff_map_nonpos _
 #align monotone_iff_map_nonpos monotone_iff_map_nonpos
+-/
 
+#print antitone_iff_map_nonneg /-
 theorem antitone_iff_map_nonneg : Antitone (f : α → β) ↔ ∀ a ≤ 0, 0 ≤ f a :=
   monotone_comp_ofDual_iff.symm.trans <| monotone_iff_map_nonneg _
 #align antitone_iff_map_nonneg antitone_iff_map_nonneg
+-/
 
 variable [CovariantClass β β (· + ·) (· < ·)]
 
+#print strictMono_iff_map_pos /-
 theorem strictMono_iff_map_pos : StrictMono (f : α → β) ↔ ∀ a, 0 < a → 0 < f a :=
   ⟨fun h a => by rw [← map_zero f]; apply h, fun h a b hl => by
     rw [← sub_add_cancel b a, map_add f]; exact lt_add_of_pos_left _ (h _ <| sub_pos.2 hl)⟩
 #align strict_mono_iff_map_pos strictMono_iff_map_pos
+-/
 
+#print strictAnti_iff_map_neg /-
 theorem strictAnti_iff_map_neg : StrictAnti (f : α → β) ↔ ∀ a, 0 < a → f a < 0 :=
   strictMono_toDual_comp_iff.symm.trans <| strictMono_iff_map_pos _
 #align strict_anti_iff_map_neg strictAnti_iff_map_neg
+-/
 
+#print strictMono_iff_map_neg /-
 theorem strictMono_iff_map_neg : StrictMono (f : α → β) ↔ ∀ a < 0, f a < 0 :=
   strictAnti_comp_ofDual_iff.symm.trans <| strictAnti_iff_map_neg _
 #align strict_mono_iff_map_neg strictMono_iff_map_neg
+-/
 
+#print strictAnti_iff_map_pos /-
 theorem strictAnti_iff_map_pos : StrictAnti (f : α → β) ↔ ∀ a < 0, 0 < f a :=
   strictMono_comp_ofDual_iff.symm.trans <| strictMono_iff_map_pos _
 #align strict_anti_iff_map_pos strictAnti_iff_map_pos
+-/
 
 end OrderedAddCommGroup
 
@@ -298,29 +313,37 @@ directly. -/
 instance : CoeFun (α →*o β) fun _ => α → β :=
   FunLike.hasCoeToFun
 
+#print OrderMonoidHom.ext /-
 -- Other lemmas should be accessed through the `fun_like` API
 @[ext, to_additive]
 theorem ext (h : ∀ a, f a = g a) : f = g :=
   FunLike.ext f g h
 #align order_monoid_hom.ext OrderMonoidHom.ext
 #align order_add_monoid_hom.ext OrderAddMonoidHom.ext
+-/
 
+#print OrderMonoidHom.toFun_eq_coe /-
 @[to_additive]
 theorem toFun_eq_coe (f : α →*o β) : f.toFun = (f : α → β) :=
   rfl
 #align order_monoid_hom.to_fun_eq_coe OrderMonoidHom.toFun_eq_coe
 #align order_add_monoid_hom.to_fun_eq_coe OrderAddMonoidHom.toFun_eq_coe
+-/
 
+#print OrderMonoidHom.coe_mk /-
 @[simp, to_additive]
 theorem coe_mk (f : α →* β) (h) : (OrderMonoidHom.mk f h : α → β) = f :=
   rfl
 #align order_monoid_hom.coe_mk OrderMonoidHom.coe_mk
 #align order_add_monoid_hom.coe_mk OrderAddMonoidHom.coe_mk
+-/
 
+#print OrderMonoidHom.mk_coe /-
 @[simp, to_additive]
 theorem mk_coe (f : α →*o β) (h) : OrderMonoidHom.mk (f : α →* β) h = f := by ext; rfl
 #align order_monoid_hom.mk_coe OrderMonoidHom.mk_coe
 #align order_add_monoid_hom.mk_coe OrderAddMonoidHom.mk_coe
+-/
 
 #print OrderMonoidHom.toOrderHom /-
 /-- Reinterpret an ordered monoid homomorphism as an order homomorphism. -/
@@ -331,30 +354,39 @@ def toOrderHom (f : α →*o β) : α →o β :=
 #align order_add_monoid_hom.to_order_hom OrderAddMonoidHom.toOrderHom
 -/
 
+#print OrderMonoidHom.coe_monoidHom /-
 @[simp, to_additive]
 theorem coe_monoidHom (f : α →*o β) : ((f : α →* β) : α → β) = f :=
   rfl
 #align order_monoid_hom.coe_monoid_hom OrderMonoidHom.coe_monoidHom
 #align order_add_monoid_hom.coe_add_monoid_hom OrderAddMonoidHom.coe_addMonoidHom
+-/
 
+#print OrderMonoidHom.coe_orderHom /-
 @[simp, to_additive]
 theorem coe_orderHom (f : α →*o β) : ((f : α →o β) : α → β) = f :=
   rfl
 #align order_monoid_hom.coe_order_hom OrderMonoidHom.coe_orderHom
 #align order_add_monoid_hom.coe_order_hom OrderAddMonoidHom.coe_orderHom
+-/
 
+#print OrderMonoidHom.toMonoidHom_injective /-
 @[to_additive]
 theorem toMonoidHom_injective : Injective (toMonoidHom : _ → α →* β) := fun f g h =>
   ext <| by convert FunLike.ext_iff.1 h
 #align order_monoid_hom.to_monoid_hom_injective OrderMonoidHom.toMonoidHom_injective
 #align order_add_monoid_hom.to_add_monoid_hom_injective OrderAddMonoidHom.toAddMonoidHom_injective
+-/
 
+#print OrderMonoidHom.toOrderHom_injective /-
 @[to_additive]
 theorem toOrderHom_injective : Injective (toOrderHom : _ → α →o β) := fun f g h =>
   ext <| by convert FunLike.ext_iff.1 h
 #align order_monoid_hom.to_order_hom_injective OrderMonoidHom.toOrderHom_injective
 #align order_add_monoid_hom.to_order_hom_injective OrderAddMonoidHom.toOrderHom_injective
+-/
 
+#print OrderMonoidHom.copy /-
 /-- Copy of an `order_monoid_hom` with a new `to_fun` equal to the old one. Useful to fix
 definitional equalities. -/
 @[to_additive
@@ -365,18 +397,23 @@ protected def copy (f : α →*o β) (f' : α → β) (h : f' = f) : α →*o β
     monotone' := h.symm.subst f.monotone' }
 #align order_monoid_hom.copy OrderMonoidHom.copy
 #align order_add_monoid_hom.copy OrderAddMonoidHom.copy
+-/
 
+#print OrderMonoidHom.coe_copy /-
 @[simp, to_additive]
 theorem coe_copy (f : α →*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
   rfl
 #align order_monoid_hom.coe_copy OrderMonoidHom.coe_copy
 #align order_add_monoid_hom.coe_copy OrderAddMonoidHom.coe_copy
+-/
 
+#print OrderMonoidHom.copy_eq /-
 @[to_additive]
 theorem copy_eq (f : α →*o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
   FunLike.ext' h
 #align order_monoid_hom.copy_eq OrderMonoidHom.copy_eq
 #align order_add_monoid_hom.copy_eq OrderAddMonoidHom.copy_eq
+-/
 
 variable (α)
 
@@ -389,11 +426,13 @@ protected def id : α →*o α :=
 #align order_add_monoid_hom.id OrderAddMonoidHom.id
 -/
 
+#print OrderMonoidHom.coe_id /-
 @[simp, to_additive]
 theorem coe_id : ⇑(OrderMonoidHom.id α) = id :=
   rfl
 #align order_monoid_hom.coe_id OrderMonoidHom.coe_id
 #align order_add_monoid_hom.coe_id OrderAddMonoidHom.coe_id
+-/
 
 @[to_additive]
 instance : Inhabited (α →*o α) :=
@@ -410,91 +449,117 @@ def comp (f : β →*o γ) (g : α →*o β) : α →*o γ :=
 #align order_add_monoid_hom.comp OrderAddMonoidHom.comp
 -/
 
+#print OrderMonoidHom.coe_comp /-
 @[simp, to_additive]
 theorem coe_comp (f : β →*o γ) (g : α →*o β) : (f.comp g : α → γ) = f ∘ g :=
   rfl
 #align order_monoid_hom.coe_comp OrderMonoidHom.coe_comp
 #align order_add_monoid_hom.coe_comp OrderAddMonoidHom.coe_comp
+-/
 
+#print OrderMonoidHom.comp_apply /-
 @[simp, to_additive]
 theorem comp_apply (f : β →*o γ) (g : α →*o β) (a : α) : (f.comp g) a = f (g a) :=
   rfl
 #align order_monoid_hom.comp_apply OrderMonoidHom.comp_apply
 #align order_add_monoid_hom.comp_apply OrderAddMonoidHom.comp_apply
+-/
 
+#print OrderMonoidHom.coe_comp_monoidHom /-
 @[simp, to_additive]
 theorem coe_comp_monoidHom (f : β →*o γ) (g : α →*o β) :
     (f.comp g : α →* γ) = (f : β →* γ).comp g :=
   rfl
 #align order_monoid_hom.coe_comp_monoid_hom OrderMonoidHom.coe_comp_monoidHom
 #align order_add_monoid_hom.coe_comp_add_monoid_hom OrderAddMonoidHom.coe_comp_addMonoidHom
+-/
 
+#print OrderMonoidHom.coe_comp_orderHom /-
 @[simp, to_additive]
 theorem coe_comp_orderHom (f : β →*o γ) (g : α →*o β) : (f.comp g : α →o γ) = (f : β →o γ).comp g :=
   rfl
 #align order_monoid_hom.coe_comp_order_hom OrderMonoidHom.coe_comp_orderHom
 #align order_add_monoid_hom.coe_comp_order_hom OrderAddMonoidHom.coe_comp_orderHom
+-/
 
+#print OrderMonoidHom.comp_assoc /-
 @[simp, to_additive]
 theorem comp_assoc (f : γ →*o δ) (g : β →*o γ) (h : α →*o β) :
     (f.comp g).comp h = f.comp (g.comp h) :=
   rfl
 #align order_monoid_hom.comp_assoc OrderMonoidHom.comp_assoc
 #align order_add_monoid_hom.comp_assoc OrderAddMonoidHom.comp_assoc
+-/
 
+#print OrderMonoidHom.comp_id /-
 @[simp, to_additive]
 theorem comp_id (f : α →*o β) : f.comp (OrderMonoidHom.id α) = f :=
   ext fun a => rfl
 #align order_monoid_hom.comp_id OrderMonoidHom.comp_id
 #align order_add_monoid_hom.comp_id OrderAddMonoidHom.comp_id
+-/
 
+#print OrderMonoidHom.id_comp /-
 @[simp, to_additive]
 theorem id_comp (f : α →*o β) : (OrderMonoidHom.id β).comp f = f :=
   ext fun a => rfl
 #align order_monoid_hom.id_comp OrderMonoidHom.id_comp
 #align order_add_monoid_hom.id_comp OrderAddMonoidHom.id_comp
+-/
 
+#print OrderMonoidHom.cancel_right /-
 @[to_additive]
 theorem cancel_right {g₁ g₂ : β →*o γ} {f : α →*o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
   ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
 #align order_monoid_hom.cancel_right OrderMonoidHom.cancel_right
 #align order_add_monoid_hom.cancel_right OrderAddMonoidHom.cancel_right
+-/
 
+#print OrderMonoidHom.cancel_left /-
 @[to_additive]
 theorem cancel_left {g : β →*o γ} {f₁ f₂ : α →*o β} (hg : Function.Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
   ⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
 #align order_monoid_hom.cancel_left OrderMonoidHom.cancel_left
 #align order_add_monoid_hom.cancel_left OrderAddMonoidHom.cancel_left
+-/
 
 /-- `1` is the homomorphism sending all elements to `1`. -/
 @[to_additive "`1` is the homomorphism sending all elements to `1`."]
 instance : One (α →*o β) :=
   ⟨{ (1 : α →* β) with monotone' := monotone_const }⟩
 
+#print OrderMonoidHom.coe_one /-
 @[simp, to_additive]
 theorem coe_one : ⇑(1 : α →*o β) = 1 :=
   rfl
 #align order_monoid_hom.coe_one OrderMonoidHom.coe_one
 #align order_add_monoid_hom.coe_zero OrderAddMonoidHom.coe_zero
+-/
 
+#print OrderMonoidHom.one_apply /-
 @[simp, to_additive]
 theorem one_apply (a : α) : (1 : α →*o β) a = 1 :=
   rfl
 #align order_monoid_hom.one_apply OrderMonoidHom.one_apply
 #align order_add_monoid_hom.zero_apply OrderAddMonoidHom.zero_apply
+-/
 
+#print OrderMonoidHom.one_comp /-
 @[simp, to_additive]
 theorem one_comp (f : α →*o β) : (1 : β →*o γ).comp f = 1 :=
   rfl
 #align order_monoid_hom.one_comp OrderMonoidHom.one_comp
 #align order_add_monoid_hom.zero_comp OrderAddMonoidHom.zero_comp
+-/
 
+#print OrderMonoidHom.comp_one /-
 @[simp, to_additive]
 theorem comp_one (f : β →*o γ) : f.comp (1 : α →*o β) = 1 := by ext; exact map_one f
 #align order_monoid_hom.comp_one OrderMonoidHom.comp_one
 #align order_add_monoid_hom.comp_zero OrderAddMonoidHom.comp_zero
+-/
 
 end Preorder
 
@@ -509,29 +574,37 @@ sending `a` to `f a * g a`. -/
 instance : Mul (α →*o β) :=
   ⟨fun f g => { (f * g : α →* β) with monotone' := f.monotone'.mul' g.monotone' }⟩
 
+#print OrderMonoidHom.coe_mul /-
 @[simp, to_additive]
 theorem coe_mul (f g : α →*o β) : ⇑(f * g) = f * g :=
   rfl
 #align order_monoid_hom.coe_mul OrderMonoidHom.coe_mul
 #align order_add_monoid_hom.coe_add OrderAddMonoidHom.coe_add
+-/
 
+#print OrderMonoidHom.mul_apply /-
 @[simp, to_additive]
 theorem mul_apply (f g : α →*o β) (a : α) : (f * g) a = f a * g a :=
   rfl
 #align order_monoid_hom.mul_apply OrderMonoidHom.mul_apply
 #align order_add_monoid_hom.add_apply OrderAddMonoidHom.add_apply
+-/
 
+#print OrderMonoidHom.mul_comp /-
 @[to_additive]
 theorem mul_comp (g₁ g₂ : β →*o γ) (f : α →*o β) : (g₁ * g₂).comp f = g₁.comp f * g₂.comp f :=
   rfl
 #align order_monoid_hom.mul_comp OrderMonoidHom.mul_comp
 #align order_add_monoid_hom.add_comp OrderAddMonoidHom.add_comp
+-/
 
+#print OrderMonoidHom.comp_mul /-
 @[to_additive]
 theorem comp_mul (g : β →*o γ) (f₁ f₂ : α →*o β) : g.comp (f₁ * f₂) = g.comp f₁ * g.comp f₂ := by
   ext; exact map_mul g _ _
 #align order_monoid_hom.comp_mul OrderMonoidHom.comp_mul
 #align order_add_monoid_hom.comp_add OrderAddMonoidHom.comp_add
+-/
 
 end Mul
 
@@ -539,18 +612,20 @@ section OrderedCommMonoid
 
 variable {hα : OrderedCommMonoid α} {hβ : OrderedCommMonoid β}
 
-include hα hβ
-
+#print OrderMonoidHom.toMonoidHom_eq_coe /-
 @[simp, to_additive]
 theorem toMonoidHom_eq_coe (f : α →*o β) : f.toMonoidHom = f := by ext; rfl
 #align order_monoid_hom.to_monoid_hom_eq_coe OrderMonoidHom.toMonoidHom_eq_coe
 #align order_add_monoid_hom.to_add_monoid_hom_eq_coe OrderAddMonoidHom.toAddMonoidHom_eq_coe
+-/
 
+#print OrderMonoidHom.toOrderHom_eq_coe /-
 @[simp, to_additive]
 theorem toOrderHom_eq_coe (f : α →*o β) : f.toOrderHom = f :=
   rfl
 #align order_monoid_hom.to_order_hom_eq_coe OrderMonoidHom.toOrderHom_eq_coe
 #align order_add_monoid_hom.to_order_hom_eq_coe OrderAddMonoidHom.toOrderHom_eq_coe
+-/
 
 end OrderedCommMonoid
 
@@ -558,8 +633,7 @@ section OrderedCommGroup
 
 variable {hα : OrderedCommGroup α} {hβ : OrderedCommGroup β}
 
-include hα hβ
-
+#print OrderMonoidHom.mk' /-
 /-- Makes an ordered group homomorphism from a proof that the map preserves multiplication. -/
 @[to_additive
       "Makes an ordered additive group homomorphism from a proof that the map preserves\naddition.",
@@ -568,6 +642,7 @@ def mk' (f : α → β) (hf : Monotone f) (map_mul : ∀ a b : α, f (a * b) = f
   { MonoidHom.mk' f map_mul with monotone' := hf }
 #align order_monoid_hom.mk' OrderMonoidHom.mk'
 #align order_add_monoid_hom.mk' OrderAddMonoidHom.mk'
+-/
 
 end OrderedCommGroup
 
@@ -594,24 +669,32 @@ directly. -/
 instance : CoeFun (α →*₀o β) fun _ => α → β :=
   FunLike.hasCoeToFun
 
+#print OrderMonoidWithZeroHom.ext /-
 -- Other lemmas should be accessed through the `fun_like` API
 @[ext]
 theorem ext (h : ∀ a, f a = g a) : f = g :=
   FunLike.ext f g h
 #align order_monoid_with_zero_hom.ext OrderMonoidWithZeroHom.ext
+-/
 
+#print OrderMonoidWithZeroHom.toFun_eq_coe /-
 theorem toFun_eq_coe (f : α →*₀o β) : f.toFun = (f : α → β) :=
   rfl
 #align order_monoid_with_zero_hom.to_fun_eq_coe OrderMonoidWithZeroHom.toFun_eq_coe
+-/
 
+#print OrderMonoidWithZeroHom.coe_mk /-
 @[simp]
 theorem coe_mk (f : α →*₀ β) (h) : (OrderMonoidWithZeroHom.mk f h : α → β) = f :=
   rfl
 #align order_monoid_with_zero_hom.coe_mk OrderMonoidWithZeroHom.coe_mk
+-/
 
+#print OrderMonoidWithZeroHom.mk_coe /-
 @[simp]
 theorem mk_coe (f : α →*₀o β) (h) : OrderMonoidWithZeroHom.mk (f : α →*₀ β) h = f := by ext; rfl
 #align order_monoid_with_zero_hom.mk_coe OrderMonoidWithZeroHom.mk_coe
+-/
 
 #print OrderMonoidWithZeroHom.toOrderMonoidHom /-
 /-- Reinterpret an ordered monoid with zero homomorphism as an order monoid homomorphism. -/
@@ -620,38 +703,52 @@ def toOrderMonoidHom (f : α →*₀o β) : α →*o β :=
 #align order_monoid_with_zero_hom.to_order_monoid_hom OrderMonoidWithZeroHom.toOrderMonoidHom
 -/
 
+#print OrderMonoidWithZeroHom.coe_monoidWithZeroHom /-
 @[simp]
 theorem coe_monoidWithZeroHom (f : α →*₀o β) : ⇑(f : α →*₀ β) = f :=
   rfl
 #align order_monoid_with_zero_hom.coe_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_monoidWithZeroHom
+-/
 
+#print OrderMonoidWithZeroHom.coe_orderMonoidHom /-
 @[simp]
 theorem coe_orderMonoidHom (f : α →*₀o β) : ⇑(f : α →*o β) = f :=
   rfl
 #align order_monoid_with_zero_hom.coe_order_monoid_hom OrderMonoidWithZeroHom.coe_orderMonoidHom
+-/
 
+#print OrderMonoidWithZeroHom.toOrderMonoidHom_injective /-
 theorem toOrderMonoidHom_injective : Injective (toOrderMonoidHom : _ → α →*o β) := fun f g h =>
   ext <| by convert FunLike.ext_iff.1 h
 #align order_monoid_with_zero_hom.to_order_monoid_hom_injective OrderMonoidWithZeroHom.toOrderMonoidHom_injective
+-/
 
+#print OrderMonoidWithZeroHom.toMonoidWithZeroHom_injective /-
 theorem toMonoidWithZeroHom_injective : Injective (toMonoidWithZeroHom : _ → α →*₀ β) :=
   fun f g h => ext <| by convert FunLike.ext_iff.1 h
 #align order_monoid_with_zero_hom.to_monoid_with_zero_hom_injective OrderMonoidWithZeroHom.toMonoidWithZeroHom_injective
+-/
 
+#print OrderMonoidWithZeroHom.copy /-
 /-- Copy of an `order_monoid_with_zero_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.toOrderMonoidHom.copy f' h, f.toMonoidWithZeroHom.copy f' h with toFun := f' }
 #align order_monoid_with_zero_hom.copy OrderMonoidWithZeroHom.copy
+-/
 
+#print OrderMonoidWithZeroHom.coe_copy /-
 @[simp]
 theorem coe_copy (f : α →*₀o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
   rfl
 #align order_monoid_with_zero_hom.coe_copy OrderMonoidWithZeroHom.coe_copy
+-/
 
+#print OrderMonoidWithZeroHom.copy_eq /-
 theorem copy_eq (f : α →*₀o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
   FunLike.ext' h
 #align order_monoid_with_zero_hom.copy_eq OrderMonoidWithZeroHom.copy_eq
+-/
 
 variable (α)
 
@@ -662,10 +759,12 @@ protected def id : α →*₀o α :=
 #align order_monoid_with_zero_hom.id OrderMonoidWithZeroHom.id
 -/
 
+#print OrderMonoidWithZeroHom.coe_id /-
 @[simp]
 theorem coe_id : ⇑(OrderMonoidWithZeroHom.id α) = id :=
   rfl
 #align order_monoid_with_zero_hom.coe_id OrderMonoidWithZeroHom.coe_id
+-/
 
 instance : Inhabited (α →*₀o α) :=
   ⟨OrderMonoidWithZeroHom.id α⟩
@@ -679,53 +778,71 @@ def comp (f : β →*₀o γ) (g : α →*₀o β) : α →*₀o γ :=
 #align order_monoid_with_zero_hom.comp OrderMonoidWithZeroHom.comp
 -/
 
+#print OrderMonoidWithZeroHom.coe_comp /-
 @[simp]
 theorem coe_comp (f : β →*₀o γ) (g : α →*₀o β) : (f.comp g : α → γ) = f ∘ g :=
   rfl
 #align order_monoid_with_zero_hom.coe_comp OrderMonoidWithZeroHom.coe_comp
+-/
 
+#print OrderMonoidWithZeroHom.comp_apply /-
 @[simp]
 theorem comp_apply (f : β →*₀o γ) (g : α →*₀o β) (a : α) : (f.comp g) a = f (g a) :=
   rfl
 #align order_monoid_with_zero_hom.comp_apply OrderMonoidWithZeroHom.comp_apply
+-/
 
+#print OrderMonoidWithZeroHom.coe_comp_monoidWithZeroHom /-
 @[simp]
 theorem coe_comp_monoidWithZeroHom (f : β →*₀o γ) (g : α →*₀o β) :
     (f.comp g : α →*₀ γ) = (f : β →*₀ γ).comp g :=
   rfl
 #align order_monoid_with_zero_hom.coe_comp_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_comp_monoidWithZeroHom
+-/
 
+#print OrderMonoidWithZeroHom.coe_comp_orderMonoidHom /-
 @[simp]
 theorem coe_comp_orderMonoidHom (f : β →*₀o γ) (g : α →*₀o β) :
     (f.comp g : α →*o γ) = (f : β →*o γ).comp g :=
   rfl
 #align order_monoid_with_zero_hom.coe_comp_order_monoid_hom OrderMonoidWithZeroHom.coe_comp_orderMonoidHom
+-/
 
+#print OrderMonoidWithZeroHom.comp_assoc /-
 @[simp]
 theorem comp_assoc (f : γ →*₀o δ) (g : β →*₀o γ) (h : α →*₀o β) :
     (f.comp g).comp h = f.comp (g.comp h) :=
   rfl
 #align order_monoid_with_zero_hom.comp_assoc OrderMonoidWithZeroHom.comp_assoc
+-/
 
+#print OrderMonoidWithZeroHom.comp_id /-
 @[simp]
 theorem comp_id (f : α →*₀o β) : f.comp (OrderMonoidWithZeroHom.id α) = f :=
   ext fun a => rfl
 #align order_monoid_with_zero_hom.comp_id OrderMonoidWithZeroHom.comp_id
+-/
 
+#print OrderMonoidWithZeroHom.id_comp /-
 @[simp]
 theorem id_comp (f : α →*₀o β) : (OrderMonoidWithZeroHom.id β).comp f = f :=
   ext fun a => rfl
 #align order_monoid_with_zero_hom.id_comp OrderMonoidWithZeroHom.id_comp
+-/
 
+#print OrderMonoidWithZeroHom.cancel_right /-
 theorem cancel_right {g₁ g₂ : β →*₀o γ} {f : α →*₀o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
   ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
 #align order_monoid_with_zero_hom.cancel_right OrderMonoidWithZeroHom.cancel_right
+-/
 
+#print OrderMonoidWithZeroHom.cancel_left /-
 theorem cancel_left {g : β →*₀o γ} {f₁ f₂ : α →*₀o β} (hg : Function.Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
   ⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
 #align order_monoid_with_zero_hom.cancel_left OrderMonoidWithZeroHom.cancel_left
+-/
 
 end Preorder
 
@@ -739,23 +856,31 @@ sending `a` to `f a * g a`. -/
 instance : Mul (α →*₀o β) :=
   ⟨fun f g => { (f * g : α →*₀ β) with monotone' := f.monotone'.mul' g.monotone' }⟩
 
+#print OrderMonoidWithZeroHom.coe_mul /-
 @[simp]
 theorem coe_mul (f g : α →*₀o β) : ⇑(f * g) = f * g :=
   rfl
 #align order_monoid_with_zero_hom.coe_mul OrderMonoidWithZeroHom.coe_mul
+-/
 
+#print OrderMonoidWithZeroHom.mul_apply /-
 @[simp]
 theorem mul_apply (f g : α →*₀o β) (a : α) : (f * g) a = f a * g a :=
   rfl
 #align order_monoid_with_zero_hom.mul_apply OrderMonoidWithZeroHom.mul_apply
+-/
 
+#print OrderMonoidWithZeroHom.mul_comp /-
 theorem mul_comp (g₁ g₂ : β →*₀o γ) (f : α →*₀o β) : (g₁ * g₂).comp f = g₁.comp f * g₂.comp f :=
   rfl
 #align order_monoid_with_zero_hom.mul_comp OrderMonoidWithZeroHom.mul_comp
+-/
 
+#print OrderMonoidWithZeroHom.comp_mul /-
 theorem comp_mul (g : β →*₀o γ) (f₁ f₂ : α →*₀o β) : g.comp (f₁ * f₂) = g.comp f₁ * g.comp f₂ :=
   ext fun _ => map_mul g _ _
 #align order_monoid_with_zero_hom.comp_mul OrderMonoidWithZeroHom.comp_mul
+-/
 
 end Mul
 
@@ -763,16 +888,18 @@ section LinearOrderedCommMonoidWithZero
 
 variable {hα : Preorder α} {hα' : MulZeroOneClass α} {hβ : Preorder β} {hβ' : MulZeroOneClass β}
 
-include hα hα' hβ hβ'
-
+#print OrderMonoidWithZeroHom.toMonoidWithZeroHom_eq_coe /-
 @[simp]
 theorem toMonoidWithZeroHom_eq_coe (f : α →*₀o β) : f.toMonoidWithZeroHom = f := by ext; rfl
 #align order_monoid_with_zero_hom.to_monoid_with_zero_hom_eq_coe OrderMonoidWithZeroHom.toMonoidWithZeroHom_eq_coe
+-/
 
+#print OrderMonoidWithZeroHom.toOrderMonoidHom_eq_coe /-
 @[simp]
 theorem toOrderMonoidHom_eq_coe (f : α →*₀o β) : f.toOrderMonoidHom = f :=
   rfl
 #align order_monoid_with_zero_hom.to_order_monoid_hom_eq_coe OrderMonoidWithZeroHom.toOrderMonoidHom_eq_coe
+-/
 
 end LinearOrderedCommMonoidWithZero
 
Diff
@@ -77,7 +77,7 @@ you should parametrize over `(F : Type*) [order_add_monoid_hom_class F α β] (f
 
 When you extend this structure, make sure to extend `order_add_monoid_hom_class`. -/
 structure OrderAddMonoidHom (α β : Type _) [Preorder α] [Preorder β] [AddZeroClass α]
-  [AddZeroClass β] extends α →+ β where
+    [AddZeroClass β] extends α →+ β where
   monotone' : Monotone to_fun
 #align order_add_monoid_hom OrderAddMonoidHom
 -/
@@ -92,7 +92,7 @@ section
 
 You should also extend this typeclass when you extend `order_add_monoid_hom`. -/
 class OrderAddMonoidHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α] [Preorder β]
-  [AddZeroClass α] [AddZeroClass β] extends AddMonoidHomClass F α β where
+    [AddZeroClass α] [AddZeroClass β] extends AddMonoidHomClass F α β where
   Monotone (f : F) : Monotone f
 #align order_add_monoid_hom_class OrderAddMonoidHomClass
 -/
@@ -117,7 +117,7 @@ you should parametrize over `(F : Type*) [order_monoid_hom_class F α β] (f : F
 When you extend this structure, make sure to extend `order_monoid_hom_class`. -/
 @[to_additive]
 structure OrderMonoidHom (α β : Type _) [Preorder α] [Preorder β] [MulOneClass α]
-  [MulOneClass β] extends α →* β where
+    [MulOneClass β] extends α →* β where
   monotone' : Monotone to_fun
 #align order_monoid_hom OrderMonoidHom
 #align order_add_monoid_hom OrderAddMonoidHom
@@ -134,7 +134,7 @@ section
 You should also extend this typeclass when you extend `order_monoid_hom`. -/
 @[to_additive]
 class OrderMonoidHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α] [Preorder β]
-  [MulOneClass α] [MulOneClass β] extends MonoidHomClass F α β where
+    [MulOneClass α] [MulOneClass β] extends MonoidHomClass F α β where
   Monotone (f : F) : Monotone f
 #align order_monoid_hom_class OrderMonoidHomClass
 #align order_add_monoid_hom_class OrderAddMonoidHomClass
@@ -177,7 +177,7 @@ you should parametrize over `(F : Type*) [order_monoid_with_zero_hom_class F α
 
 When you extend this structure, make sure to extend `order_monoid_with_zero_hom_class`. -/
 structure OrderMonoidWithZeroHom (α β : Type _) [Preorder α] [Preorder β] [MulZeroOneClass α]
-  [MulZeroOneClass β] extends α →*₀ β where
+    [MulZeroOneClass β] extends α →*₀ β where
   monotone' : Monotone to_fun
 #align order_monoid_with_zero_hom OrderMonoidWithZeroHom
 -/
@@ -193,7 +193,7 @@ ordered monoid with zero homomorphisms.
 
 You should also extend this typeclass when you extend `order_monoid_with_zero_hom`. -/
 class OrderMonoidWithZeroHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α] [Preorder β]
-  [MulZeroOneClass α] [MulZeroOneClass β] extends MonoidWithZeroHomClass F α β where
+    [MulZeroOneClass α] [MulZeroOneClass β] extends MonoidWithZeroHomClass F α β where
   Monotone (f : F) : Monotone f
 #align order_monoid_with_zero_hom_class OrderMonoidWithZeroHomClass
 -/
Diff
@@ -142,6 +142,7 @@ class OrderMonoidHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α
 
 end
 
+#print OrderMonoidHomClass.toOrderHomClass /-
 -- See note [lower instance priority]
 @[to_additive]
 instance (priority := 100) OrderMonoidHomClass.toOrderHomClass [OrderMonoidHomClass F α β] :
@@ -149,6 +150,7 @@ instance (priority := 100) OrderMonoidHomClass.toOrderHomClass [OrderMonoidHomCl
   { ‹OrderMonoidHomClass F α β› with map_rel := OrderMonoidHomClass.monotone }
 #align order_monoid_hom_class.to_order_hom_class OrderMonoidHomClass.toOrderHomClass
 #align order_add_monoid_hom_class.to_order_hom_class OrderAddMonoidHomClass.toOrderHomClass
+-/
 
 @[to_additive]
 instance [OrderMonoidHomClass F α β] : CoeTC F (α →*o β) :=
Diff
@@ -142,12 +142,6 @@ class OrderMonoidHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α
 
 end
 
-/- warning: order_monoid_hom_class.to_order_hom_class -> OrderMonoidHomClass.toOrderHomClass is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : MulOneClass.{u2} α] [_inst_4 : MulOneClass.{u3} β] [_inst_5 : OrderMonoidHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4], OrderHomClass.{u1, u2, u3} F α β (Preorder.toHasLe.{u2} α _inst_1) (Preorder.toHasLe.{u3} β _inst_2)
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : Preorder.{u2} α} {_inst_2 : Preorder.{u3} β} {_inst_3 : MulOneClass.{u2} α} {_inst_4 : MulOneClass.{u3} β} [_inst_5 : OrderMonoidHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4], OrderHomClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α _inst_1) (Preorder.toLE.{u3} β _inst_2)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom_class.to_order_hom_class OrderMonoidHomClass.toOrderHomClassₓ'. -/
 -- See note [lower instance priority]
 @[to_additive]
 instance (priority := 100) OrderMonoidHomClass.toOrderHomClass [OrderMonoidHomClass F α β] :
@@ -229,21 +223,9 @@ variable [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [OrderAddMonoidHomC
 
 include β
 
-/- warning: map_nonneg -> map_nonneg is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommMonoid.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))))))) a) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (RelHomClass.toFunLike.{u1, u2, u3} F α β (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)))) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)))) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommMonoid.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) {a : α}, (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{u1, u3, u2} F α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (_x : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) _x x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a))
-Case conversion may be inaccurate. Consider using '#align map_nonneg map_nonnegₓ'. -/
 theorem map_nonneg (ha : 0 ≤ a) : 0 ≤ f a := by rw [← map_zero f]; exact OrderHomClass.mono _ ha
 #align map_nonneg map_nonneg
 
-/- warning: map_nonpos -> map_nonpos is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommMonoid.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1)))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (RelHomClass.toFunLike.{u1, u2, u3} F α β (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)))) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)))) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommMonoid.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) {a : α}, (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1)))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{u1, u3, u2} F α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (_x : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) _x x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align map_nonpos map_nonposₓ'. -/
 theorem map_nonpos (ha : a ≤ 0) : f a ≤ 0 := by rw [← map_zero f]; exact OrderHomClass.mono _ ha
 #align map_nonpos map_nonpos
 
@@ -253,86 +235,38 @@ section OrderedAddCommGroup
 
 variable [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [AddMonoidHomClass F α β] (f : F)
 
-/- warning: monotone_iff_map_nonneg -> monotone_iff_map_nonneg is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Monotone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Monotone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
-Case conversion may be inaccurate. Consider using '#align monotone_iff_map_nonneg monotone_iff_map_nonnegₓ'. -/
 theorem monotone_iff_map_nonneg : Monotone (f : α → β) ↔ ∀ a, 0 ≤ a → 0 ≤ f a :=
   ⟨fun h a => by rw [← map_zero f]; apply h, fun h a b hl => by
     rw [← sub_add_cancel b a, map_add f]; exact le_add_of_nonneg_left (h _ <| sub_nonneg.2 hl)⟩
 #align monotone_iff_map_nonneg monotone_iff_map_nonneg
 
-/- warning: antitone_iff_map_nonpos -> antitone_iff_map_nonpos is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Antitone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Antitone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
-Case conversion may be inaccurate. Consider using '#align antitone_iff_map_nonpos antitone_iff_map_nonposₓ'. -/
 theorem antitone_iff_map_nonpos : Antitone (f : α → β) ↔ ∀ a, 0 ≤ a → f a ≤ 0 :=
   monotone_toDual_comp_iff.symm.trans <| monotone_iff_map_nonneg _
 #align antitone_iff_map_nonpos antitone_iff_map_nonpos
 
-/- warning: monotone_iff_map_nonpos -> monotone_iff_map_nonpos is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Monotone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Monotone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
-Case conversion may be inaccurate. Consider using '#align monotone_iff_map_nonpos monotone_iff_map_nonposₓ'. -/
 theorem monotone_iff_map_nonpos : Monotone (f : α → β) ↔ ∀ a ≤ 0, f a ≤ 0 :=
   antitone_comp_ofDual_iff.symm.trans <| antitone_iff_map_nonpos _
 #align monotone_iff_map_nonpos monotone_iff_map_nonpos
 
-/- warning: antitone_iff_map_nonneg -> antitone_iff_map_nonneg is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Antitone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Antitone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
-Case conversion may be inaccurate. Consider using '#align antitone_iff_map_nonneg antitone_iff_map_nonnegₓ'. -/
 theorem antitone_iff_map_nonneg : Antitone (f : α → β) ↔ ∀ a ≤ 0, 0 ≤ f a :=
   monotone_comp_ofDual_iff.symm.trans <| monotone_iff_map_nonneg _
 #align antitone_iff_map_nonneg antitone_iff_map_nonneg
 
 variable [CovariantClass β β (· + ·) (· < ·)]
 
-/- warning: strict_mono_iff_map_pos -> strictMono_iff_map_pos is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictMono.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3046 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3048 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3046 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3048) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3061 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3063 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3061 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3063)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
-Case conversion may be inaccurate. Consider using '#align strict_mono_iff_map_pos strictMono_iff_map_posₓ'. -/
 theorem strictMono_iff_map_pos : StrictMono (f : α → β) ↔ ∀ a, 0 < a → 0 < f a :=
   ⟨fun h a => by rw [← map_zero f]; apply h, fun h a b hl => by
     rw [← sub_add_cancel b a, map_add f]; exact lt_add_of_pos_left _ (h _ <| sub_pos.2 hl)⟩
 #align strict_mono_iff_map_pos strictMono_iff_map_pos
 
-/- warning: strict_anti_iff_map_neg -> strictAnti_iff_map_neg is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictAnti.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3223 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3225 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3223 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3225) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3238 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3240 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3238 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3240)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
-Case conversion may be inaccurate. Consider using '#align strict_anti_iff_map_neg strictAnti_iff_map_negₓ'. -/
 theorem strictAnti_iff_map_neg : StrictAnti (f : α → β) ↔ ∀ a, 0 < a → f a < 0 :=
   strictMono_toDual_comp_iff.symm.trans <| strictMono_iff_map_pos _
 #align strict_anti_iff_map_neg strictAnti_iff_map_neg
 
-/- warning: strict_mono_iff_map_neg -> strictMono_iff_map_neg is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictMono.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3308 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3310 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3308 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3310) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3323 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3325 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3323 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3325)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
-Case conversion may be inaccurate. Consider using '#align strict_mono_iff_map_neg strictMono_iff_map_negₓ'. -/
 theorem strictMono_iff_map_neg : StrictMono (f : α → β) ↔ ∀ a < 0, f a < 0 :=
   strictAnti_comp_ofDual_iff.symm.trans <| strictAnti_iff_map_neg _
 #align strict_mono_iff_map_neg strictMono_iff_map_neg
 
-/- warning: strict_anti_iff_map_pos -> strictAnti_iff_map_pos is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictAnti.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3399 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3401 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3399 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3401) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3414 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3416 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3414 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3416)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
-Case conversion may be inaccurate. Consider using '#align strict_anti_iff_map_pos strictAnti_iff_map_posₓ'. -/
 theorem strictAnti_iff_map_pos : StrictAnti (f : α → β) ↔ ∀ a < 0, 0 < f a :=
   strictMono_comp_ofDual_iff.symm.trans <| strictMono_iff_map_pos _
 #align strict_anti_iff_map_pos strictAnti_iff_map_pos
@@ -362,12 +296,6 @@ directly. -/
 instance : CoeFun (α →*o β) fun _ => α → β :=
   FunLike.hasCoeToFun
 
-/- warning: order_monoid_hom.ext -> OrderMonoidHom.ext is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] {f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {g : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f g)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] {f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {g : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) f a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f g)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.ext OrderMonoidHom.extₓ'. -/
 -- Other lemmas should be accessed through the `fun_like` API
 @[ext, to_additive]
 theorem ext (h : ∀ a, f a = g a) : f = g :=
@@ -375,33 +303,18 @@ theorem ext (h : ∀ a, f a = g a) : f = g :=
 #align order_monoid_hom.ext OrderMonoidHom.ext
 #align order_add_monoid_hom.ext OrderAddMonoidHom.ext
 
-/- warning: order_monoid_hom.to_fun_eq_coe -> OrderMonoidHom.toFun_eq_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (MonoidHom.toFun.{u1, u2} α β _inst_5 _inst_6 (OrderMonoidHom.toMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α _inst_5) (MulOneClass.toOne.{u1} β _inst_6) (MonoidHom.toOneHom.{u2, u1} α β _inst_5 _inst_6 (OrderMonoidHom.toMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.to_fun_eq_coe OrderMonoidHom.toFun_eq_coeₓ'. -/
 @[to_additive]
 theorem toFun_eq_coe (f : α →*o β) : f.toFun = (f : α → β) :=
   rfl
 #align order_monoid_hom.to_fun_eq_coe OrderMonoidHom.toFun_eq_coe
 #align order_add_monoid_hom.to_fun_eq_coe OrderAddMonoidHom.toFun_eq_coe
 
-/- warning: order_monoid_hom.coe_mk -> OrderMonoidHom.coe_mk is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : MonoidHom.{u1, u2} α β _inst_5 _inst_6) (h : Monotone.{u1, u2} α β _inst_1 _inst_2 (MonoidHom.toFun.{u1, u2} α β _inst_5 _inst_6 f)), Eq.{max (succ u1) (succ u2)} ((fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : MonoidHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α _inst_5) (MulOneClass.toOne.{u1} β _inst_6) (MonoidHom.toOneHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OrderMonoidHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_mk OrderMonoidHom.coe_mkₓ'. -/
 @[simp, to_additive]
 theorem coe_mk (f : α →* β) (h) : (OrderMonoidHom.mk f h : α → β) = f :=
   rfl
 #align order_monoid_hom.coe_mk OrderMonoidHom.coe_mk
 #align order_add_monoid_hom.coe_mk OrderAddMonoidHom.coe_mk
 
-/- warning: order_monoid_hom.mk_coe -> OrderMonoidHom.mk_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.mk_coe OrderMonoidHom.mk_coeₓ'. -/
 @[simp, to_additive]
 theorem mk_coe (f : α →*o β) (h) : OrderMonoidHom.mk (f : α →* β) h = f := by ext; rfl
 #align order_monoid_hom.mk_coe OrderMonoidHom.mk_coe
@@ -416,60 +329,30 @@ def toOrderHom (f : α →*o β) : α →o β :=
 #align order_add_monoid_hom.to_order_hom OrderAddMonoidHom.toOrderHom
 -/
 
-/- warning: order_monoid_hom.coe_monoid_hom -> OrderMonoidHom.coe_monoidHom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} ((fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} α β (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_monoid_hom OrderMonoidHom.coe_monoidHomₓ'. -/
 @[simp, to_additive]
 theorem coe_monoidHom (f : α →*o β) : ((f : α →* β) : α → β) = f :=
   rfl
 #align order_monoid_hom.coe_monoid_hom OrderMonoidHom.coe_monoidHom
 #align order_add_monoid_hom.coe_add_monoid_hom OrderAddMonoidHom.coe_addMonoidHom
 
-/- warning: order_monoid_hom.coe_order_hom -> OrderMonoidHom.coe_orderHom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} ((fun (_x : OrderHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) ((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) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (OrderHomClass.OrderHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : OrderHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (OrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) ((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) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (OrderHomClass.OrderHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (OrderHom.toFun.{u2, u1} α β _inst_1 _inst_2 (OrderHomClass.toOrderHom.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_order_hom OrderMonoidHom.coe_orderHomₓ'. -/
 @[simp, to_additive]
 theorem coe_orderHom (f : α →*o β) : ((f : α →o β) : α → β) = f :=
   rfl
 #align order_monoid_hom.coe_order_hom OrderMonoidHom.coe_orderHom
 #align order_add_monoid_hom.coe_order_hom OrderAddMonoidHom.coe_orderHom
 
-/- warning: order_monoid_hom.to_monoid_hom_injective -> OrderMonoidHom.toMonoidHom_injective is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β], Function.Injective.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (OrderMonoidHom.toMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u2, u1} α β _inst_5 _inst_6) (OrderMonoidHom.toMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.to_monoid_hom_injective OrderMonoidHom.toMonoidHom_injectiveₓ'. -/
 @[to_additive]
 theorem toMonoidHom_injective : Injective (toMonoidHom : _ → α →* β) := fun f g h =>
   ext <| by convert FunLike.ext_iff.1 h
 #align order_monoid_hom.to_monoid_hom_injective OrderMonoidHom.toMonoidHom_injective
 #align order_add_monoid_hom.to_add_monoid_hom_injective OrderAddMonoidHom.toAddMonoidHom_injective
 
-/- warning: order_monoid_hom.to_order_hom_injective -> OrderMonoidHom.toOrderHom_injective is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β], Function.Injective.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (OrderMonoidHom.toOrderHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u2, u1} α β _inst_1 _inst_2) (OrderMonoidHom.toOrderHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.to_order_hom_injective OrderMonoidHom.toOrderHom_injectiveₓ'. -/
 @[to_additive]
 theorem toOrderHom_injective : Injective (toOrderHom : _ → α →o β) := fun f g h =>
   ext <| by convert FunLike.ext_iff.1 h
 #align order_monoid_hom.to_order_hom_injective OrderMonoidHom.toOrderHom_injective
 #align order_add_monoid_hom.to_order_hom_injective OrderAddMonoidHom.toOrderHom_injective
 
-/- warning: order_monoid_hom.copy -> OrderMonoidHom.copy is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)) -> (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)) -> (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.copy OrderMonoidHom.copyₓ'. -/
 /-- Copy of an `order_monoid_hom` with a new `to_fun` equal to the old one. Useful to fix
 definitional equalities. -/
 @[to_additive
@@ -481,24 +364,12 @@ protected def copy (f : α →*o β) (f' : α → β) (h : f' = f) : α →*o β
 #align order_monoid_hom.copy OrderMonoidHom.copy
 #align order_add_monoid_hom.copy OrderAddMonoidHom.copy
 
-/- warning: order_monoid_hom.coe_copy -> OrderMonoidHom.coe_copy is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h)) f'
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OrderMonoidHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h)) f'
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_copy OrderMonoidHom.coe_copyₓ'. -/
 @[simp, to_additive]
 theorem coe_copy (f : α →*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
   rfl
 #align order_monoid_hom.coe_copy OrderMonoidHom.coe_copy
 #align order_add_monoid_hom.coe_copy OrderAddMonoidHom.coe_copy
 
-/- warning: order_monoid_hom.copy_eq -> OrderMonoidHom.copy_eq is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)), Eq.{max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h) f
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.copy_eq OrderMonoidHom.copy_eqₓ'. -/
 @[to_additive]
 theorem copy_eq (f : α →*o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
   FunLike.ext' h
@@ -516,12 +387,6 @@ protected def id : α →*o α :=
 #align order_add_monoid_hom.id OrderAddMonoidHom.id
 -/
 
-/- warning: order_monoid_hom.coe_id -> OrderMonoidHom.coe_id is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : Preorder.{u1} α] [_inst_5 : MulOneClass.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) (fun (_x : OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) => α -> α) (OrderMonoidHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) (OrderMonoidHom.id.{u1} α _inst_1 _inst_5)) (id.{succ u1} α)
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : Preorder.{u1} α] [_inst_5 : MulOneClass.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_1) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α _inst_1 _inst_1 _inst_5 _inst_5 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5))) (OrderMonoidHom.id.{u1} α _inst_1 _inst_5)) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_id OrderMonoidHom.coe_idₓ'. -/
 @[simp, to_additive]
 theorem coe_id : ⇑(OrderMonoidHom.id α) = id :=
   rfl
@@ -543,27 +408,18 @@ def comp (f : β →*o γ) (g : α →*o β) : α →*o γ :=
 #align order_add_monoid_hom.comp OrderAddMonoidHom.comp
 -/
 
-/- warning: order_monoid_hom.coe_comp -> OrderMonoidHom.coe_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_comp OrderMonoidHom.coe_compₓ'. -/
 @[simp, to_additive]
 theorem coe_comp (f : β →*o γ) (g : α →*o β) : (f.comp g : α → γ) = f ∘ g :=
   rfl
 #align order_monoid_hom.coe_comp OrderMonoidHom.coe_comp
 #align order_add_monoid_hom.coe_comp OrderAddMonoidHom.coe_comp
 
-/- warning: order_monoid_hom.comp_apply -> OrderMonoidHom.comp_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.comp_apply OrderMonoidHom.comp_applyₓ'. -/
 @[simp, to_additive]
 theorem comp_apply (f : β →*o γ) (g : α →*o β) (a : α) : (f.comp g) a = f (g a) :=
   rfl
 #align order_monoid_hom.comp_apply OrderMonoidHom.comp_apply
 #align order_add_monoid_hom.comp_apply OrderAddMonoidHom.comp_apply
 
-/- warning: order_monoid_hom.coe_comp_monoid_hom -> OrderMonoidHom.coe_comp_monoidHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_comp_monoid_hom OrderMonoidHom.coe_comp_monoidHomₓ'. -/
 @[simp, to_additive]
 theorem coe_comp_monoidHom (f : β →*o γ) (g : α →*o β) :
     (f.comp g : α →* γ) = (f : β →* γ).comp g :=
@@ -571,21 +427,12 @@ theorem coe_comp_monoidHom (f : β →*o γ) (g : α →*o β) :
 #align order_monoid_hom.coe_comp_monoid_hom OrderMonoidHom.coe_comp_monoidHom
 #align order_add_monoid_hom.coe_comp_add_monoid_hom OrderAddMonoidHom.coe_comp_addMonoidHom
 
-/- warning: order_monoid_hom.coe_comp_order_hom -> OrderMonoidHom.coe_comp_orderHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_comp_order_hom OrderMonoidHom.coe_comp_orderHomₓ'. -/
 @[simp, to_additive]
 theorem coe_comp_orderHom (f : β →*o γ) (g : α →*o β) : (f.comp g : α →o γ) = (f : β →o γ).comp g :=
   rfl
 #align order_monoid_hom.coe_comp_order_hom OrderMonoidHom.coe_comp_orderHom
 #align order_add_monoid_hom.coe_comp_order_hom OrderAddMonoidHom.coe_comp_orderHom
 
-/- warning: order_monoid_hom.comp_assoc -> OrderMonoidHom.comp_assoc is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_4 : Preorder.{u4} δ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] [_inst_8 : MulOneClass.{u4} δ] (f : OrderMonoidHom.{u3, u4} γ δ _inst_3 _inst_4 _inst_7 _inst_8) (g : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (h : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u4)} (OrderMonoidHom.{u1, u4} α δ _inst_1 _inst_4 _inst_5 _inst_8) (OrderMonoidHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 _inst_5 _inst_6 _inst_8 (OrderMonoidHom.comp.{u2, u3, u4} β γ δ _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f g) h) (OrderMonoidHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 f (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g h))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u4} γ] [_inst_4 : Preorder.{u3} δ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u4} γ] [_inst_8 : MulOneClass.{u3} δ] (f : OrderMonoidHom.{u4, u3} γ δ _inst_3 _inst_4 _inst_7 _inst_8) (g : OrderMonoidHom.{u2, u4} β γ _inst_2 _inst_3 _inst_6 _inst_7) (h : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α δ _inst_1 _inst_4 _inst_5 _inst_8) (OrderMonoidHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_4 _inst_5 _inst_6 _inst_8 (OrderMonoidHom.comp.{u2, u4, u3} β γ δ _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f g) h) (OrderMonoidHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 f (OrderMonoidHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g h))
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.comp_assoc OrderMonoidHom.comp_assocₓ'. -/
 @[simp, to_additive]
 theorem comp_assoc (f : γ →*o δ) (g : β →*o γ) (h : α →*o β) :
     (f.comp g).comp h = f.comp (g.comp h) :=
@@ -593,33 +440,18 @@ theorem comp_assoc (f : γ →*o δ) (g : β →*o γ) (h : α →*o β) :
 #align order_monoid_hom.comp_assoc OrderMonoidHom.comp_assoc
 #align order_add_monoid_hom.comp_assoc OrderAddMonoidHom.comp_assoc
 
-/- warning: order_monoid_hom.comp_id -> OrderMonoidHom.comp_id is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.comp.{u1, u1, u2} α α β _inst_1 _inst_1 _inst_2 _inst_5 _inst_5 _inst_6 f (OrderMonoidHom.id.{u1} α _inst_1 _inst_5)) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.comp.{u2, u2, u1} α α β _inst_1 _inst_1 _inst_2 _inst_5 _inst_5 _inst_6 f (OrderMonoidHom.id.{u2} α _inst_1 _inst_5)) f
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.comp_id OrderMonoidHom.comp_idₓ'. -/
 @[simp, to_additive]
 theorem comp_id (f : α →*o β) : f.comp (OrderMonoidHom.id α) = f :=
   ext fun a => rfl
 #align order_monoid_hom.comp_id OrderMonoidHom.comp_id
 #align order_add_monoid_hom.comp_id OrderAddMonoidHom.comp_id
 
-/- warning: order_monoid_hom.id_comp -> OrderMonoidHom.id_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_2 _inst_5 _inst_6 _inst_6 (OrderMonoidHom.id.{u2} β _inst_2 _inst_6) f) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_2 _inst_5 _inst_6 _inst_6 (OrderMonoidHom.id.{u1} β _inst_2 _inst_6) f) f
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.id_comp OrderMonoidHom.id_compₓ'. -/
 @[simp, to_additive]
 theorem id_comp (f : α →*o β) : (OrderMonoidHom.id β).comp f = f :=
   ext fun a => rfl
 #align order_monoid_hom.id_comp OrderMonoidHom.id_comp
 #align order_add_monoid_hom.id_comp OrderAddMonoidHom.id_comp
 
-/- warning: order_monoid_hom.cancel_right -> OrderMonoidHom.cancel_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.cancel_right OrderMonoidHom.cancel_rightₓ'. -/
 @[to_additive]
 theorem cancel_right {g₁ g₂ : β →*o γ} {f : α →*o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
@@ -627,9 +459,6 @@ theorem cancel_right {g₁ g₂ : β →*o γ} {f : α →*o β} (hf : Function.
 #align order_monoid_hom.cancel_right OrderMonoidHom.cancel_right
 #align order_add_monoid_hom.cancel_right OrderAddMonoidHom.cancel_right
 
-/- warning: order_monoid_hom.cancel_left -> OrderMonoidHom.cancel_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.cancel_left OrderMonoidHom.cancel_leftₓ'. -/
 @[to_additive]
 theorem cancel_left {g : β →*o γ} {f₁ f₂ : α →*o β} (hg : Function.Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
@@ -642,48 +471,24 @@ theorem cancel_left {g : β →*o γ} {f₁ f₂ : α →*o β} (hg : Function.I
 instance : One (α →*o β) :=
   ⟨{ (1 : α →* β) with monotone' := monotone_const }⟩
 
-/- warning: order_monoid_hom.coe_one -> OrderMonoidHom.coe_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β], Eq.{succ (max u1 u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), succ (max u1 u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OfNat.ofNat.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (OfNat.mk.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.one.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.hasOne.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) (OfNat.ofNat.{max u1 u2} (α -> β) 1 (OfNat.mk.{max u1 u2} (α -> β) 1 (One.one.{max u1 u2} (α -> β) (Pi.instOne.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => MulOneClass.toHasOne.{u2} β _inst_6)))))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β], 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OfNat.ofNat.{max u2 u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.toOfNat1.{max u2 u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.instOneOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OfNat.ofNat.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) 1 (One.toOfNat1.{max u2 u1} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (Pi.instOne.{u2, u1} α (fun (a : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (fun (i : α) => MulOneClass.toOne.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) _inst_6))))
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_one OrderMonoidHom.coe_oneₓ'. -/
 @[simp, to_additive]
 theorem coe_one : ⇑(1 : α →*o β) = 1 :=
   rfl
 #align order_monoid_hom.coe_one OrderMonoidHom.coe_one
 #align order_add_monoid_hom.coe_zero OrderAddMonoidHom.coe_zero
 
-/- warning: order_monoid_hom.one_apply -> OrderMonoidHom.one_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OfNat.ofNat.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (OfNat.mk.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.one.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.hasOne.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)))) a) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β (MulOneClass.toHasOne.{u2} β _inst_6))))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OfNat.ofNat.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.toOfNat1.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.instOneOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (MulOneClass.toOne.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_6)))
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.one_apply OrderMonoidHom.one_applyₓ'. -/
 @[simp, to_additive]
 theorem one_apply (a : α) : (1 : α →*o β) a = 1 :=
   rfl
 #align order_monoid_hom.one_apply OrderMonoidHom.one_apply
 #align order_add_monoid_hom.zero_apply OrderAddMonoidHom.zero_apply
 
-/- warning: order_monoid_hom.one_comp -> OrderMonoidHom.one_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 (OfNat.ofNat.{max u2 u3} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) 1 (OfNat.mk.{max u2 u3} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) 1 (One.one.{max u2 u3} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (OrderMonoidHom.hasOne.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7)))) f) (OfNat.ofNat.{max u1 u3} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) 1 (OfNat.mk.{max u1 u3} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) 1 (One.one.{max u1 u3} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.hasOne.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7))))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} [_inst_1 : Preorder.{u3} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u1} γ] [_inst_5 : MulOneClass.{u3} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u1} γ] (f : OrderMonoidHom.{u3, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u3) (succ u1)} (OrderMonoidHom.{u3, u1} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u3, u2, u1} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 (OfNat.ofNat.{max u2 u1} (OrderMonoidHom.{u2, u1} β γ _inst_2 _inst_3 _inst_6 _inst_7) 1 (One.toOfNat1.{max u2 u1} (OrderMonoidHom.{u2, u1} β γ _inst_2 _inst_3 _inst_6 _inst_7) (OrderMonoidHom.instOneOrderMonoidHom.{u2, u1} β γ _inst_2 _inst_3 _inst_6 _inst_7))) f) (OfNat.ofNat.{max u3 u1} (OrderMonoidHom.{u3, u1} α γ _inst_1 _inst_3 _inst_5 _inst_7) 1 (One.toOfNat1.{max u3 u1} (OrderMonoidHom.{u3, u1} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.instOneOrderMonoidHom.{u3, u1} α γ _inst_1 _inst_3 _inst_5 _inst_7)))
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.one_comp OrderMonoidHom.one_compₓ'. -/
 @[simp, to_additive]
 theorem one_comp (f : α →*o β) : (1 : β →*o γ).comp f = 1 :=
   rfl
 #align order_monoid_hom.one_comp OrderMonoidHom.one_comp
 #align order_add_monoid_hom.zero_comp OrderAddMonoidHom.zero_comp
 
-/- warning: order_monoid_hom.comp_one -> OrderMonoidHom.comp_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] (f : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7), Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f (OfNat.ofNat.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (OfNat.mk.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.one.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.hasOne.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) (OfNat.ofNat.{max u1 u3} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) 1 (OfNat.mk.{max u1 u3} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) 1 (One.one.{max u1 u3} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.hasOne.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7))))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] (f : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f (OfNat.ofNat.{max u1 u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.toOfNat1.{max u1 u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.instOneOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OfNat.ofNat.{max u1 u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) 1 (One.toOfNat1.{max u1 u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.instOneOrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)))
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.comp_one OrderMonoidHom.comp_oneₓ'. -/
 @[simp, to_additive]
 theorem comp_one (f : β →*o γ) : f.comp (1 : α →*o β) = 1 := by ext; exact map_one f
 #align order_monoid_hom.comp_one OrderMonoidHom.comp_one
@@ -702,36 +507,24 @@ sending `a` to `f a * g a`. -/
 instance : Mul (α →*o β) :=
   ⟨fun f g => { (f * g : α →* β) with monotone' := f.monotone'.mul' g.monotone' }⟩
 
-/- warning: order_monoid_hom.coe_mul -> OrderMonoidHom.coe_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_mul OrderMonoidHom.coe_mulₓ'. -/
 @[simp, to_additive]
 theorem coe_mul (f g : α →*o β) : ⇑(f * g) = f * g :=
   rfl
 #align order_monoid_hom.coe_mul OrderMonoidHom.coe_mul
 #align order_add_monoid_hom.coe_add OrderAddMonoidHom.coe_add
 
-/- warning: order_monoid_hom.mul_apply -> OrderMonoidHom.mul_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.mul_apply OrderMonoidHom.mul_applyₓ'. -/
 @[simp, to_additive]
 theorem mul_apply (f g : α →*o β) (a : α) : (f * g) a = f a * g a :=
   rfl
 #align order_monoid_hom.mul_apply OrderMonoidHom.mul_apply
 #align order_add_monoid_hom.add_apply OrderAddMonoidHom.add_apply
 
-/- warning: order_monoid_hom.mul_comp -> OrderMonoidHom.mul_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.mul_comp OrderMonoidHom.mul_compₓ'. -/
 @[to_additive]
 theorem mul_comp (g₁ g₂ : β →*o γ) (f : α →*o β) : (g₁ * g₂).comp f = g₁.comp f * g₂.comp f :=
   rfl
 #align order_monoid_hom.mul_comp OrderMonoidHom.mul_comp
 #align order_add_monoid_hom.add_comp OrderAddMonoidHom.add_comp
 
-/- warning: order_monoid_hom.comp_mul -> OrderMonoidHom.comp_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.comp_mul OrderMonoidHom.comp_mulₓ'. -/
 @[to_additive]
 theorem comp_mul (g : β →*o γ) (f₁ f₂ : α →*o β) : g.comp (f₁ * f₂) = g.comp f₁ * g.comp f₂ := by
   ext; exact map_mul g _ _
@@ -746,23 +539,11 @@ variable {hα : OrderedCommMonoid α} {hβ : OrderedCommMonoid β}
 
 include hα hβ
 
-/- warning: order_monoid_hom.to_monoid_hom_eq_coe -> OrderMonoidHom.toMonoidHom_eq_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {hα : OrderedCommMonoid.{u1} α} {hβ : OrderedCommMonoid.{u2} β} (f : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))), Eq.{max (succ u2) (succ u1)} (MonoidHom.{u1, u2} α β (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) (OrderMonoidHom.toMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ))) f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) (MonoidHom.{u1, u2} α β (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) (MonoidHom.{u1, u2} α β (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) (MonoidHom.{u1, u2} α β (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ))) (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ))) (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))))))) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {hα : OrderedCommMonoid.{u2} α} {hβ : OrderedCommMonoid.{u1} β} (f : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ)))), Eq.{max (succ u2) (succ u1)} (MonoidHom.{u2, u1} α β (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ)))) (OrderMonoidHom.toMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ))) f) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} α β (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ)))) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ))) (OrderMonoidHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ))))) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.to_monoid_hom_eq_coe OrderMonoidHom.toMonoidHom_eq_coeₓ'. -/
 @[simp, to_additive]
 theorem toMonoidHom_eq_coe (f : α →*o β) : f.toMonoidHom = f := by ext; rfl
 #align order_monoid_hom.to_monoid_hom_eq_coe OrderMonoidHom.toMonoidHom_eq_coe
 #align order_add_monoid_hom.to_add_monoid_hom_eq_coe OrderAddMonoidHom.toAddMonoidHom_eq_coe
 
-/- warning: order_monoid_hom.to_order_hom_eq_coe -> OrderMonoidHom.toOrderHom_eq_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {hα : OrderedCommMonoid.{u1} α} {hβ : OrderedCommMonoid.{u2} β} (f : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))), Eq.{max (succ u1) (succ u2)} (OrderHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ))) (OrderMonoidHom.toOrderHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ))) 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) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) (OrderHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ))) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) (OrderHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ))) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) (OrderHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ))) (OrderHomClass.OrderHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))) α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ))) (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α hα))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β hβ)))))))) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {hα : OrderedCommMonoid.{u2} α} {hβ : OrderedCommMonoid.{u1} β} (f : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ)))), Eq.{max (succ u2) (succ u1)} (OrderHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ))) (OrderMonoidHom.toOrderHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ))) f) (OrderHomClass.toOrderHom.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ))))) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.to_order_hom_eq_coe OrderMonoidHom.toOrderHom_eq_coeₓ'. -/
 @[simp, to_additive]
 theorem toOrderHom_eq_coe (f : α →*o β) : f.toOrderHom = f :=
   rfl
@@ -777,12 +558,6 @@ variable {hα : OrderedCommGroup α} {hβ : OrderedCommGroup β}
 
 include hα hβ
 
-/- warning: order_monoid_hom.mk' -> OrderMonoidHom.mk' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {hα : OrderedCommGroup.{u1} α} {hβ : OrderedCommGroup.{u2} β} (f : α -> β), (Monotone.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommGroup.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommGroup.toPartialOrder.{u2} β hβ)) f) -> (forall (a : α) (b : α), Eq.{succ u2} β (f (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulOneClass.toHasMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α (CommGroup.toGroup.{u1} α (OrderedCommGroup.toCommGroup.{u1} α hα))))))) a b)) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (MulOneClass.toHasMul.{u2} β (Monoid.toMulOneClass.{u2} β (DivInvMonoid.toMonoid.{u2} β (Group.toDivInvMonoid.{u2} β (CommGroup.toGroup.{u2} β (OrderedCommGroup.toCommGroup.{u2} β hβ))))))) (f a) (f b))) -> (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommGroup.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommGroup.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α (CommGroup.toGroup.{u1} α (OrderedCommGroup.toCommGroup.{u1} α hα))))) (Monoid.toMulOneClass.{u2} β (DivInvMonoid.toMonoid.{u2} β (Group.toDivInvMonoid.{u2} β (CommGroup.toGroup.{u2} β (OrderedCommGroup.toCommGroup.{u2} β hβ))))))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {hα : OrderedCommGroup.{u1} α} {hβ : OrderedCommGroup.{u2} β} (f : α -> β), (Monotone.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommGroup.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommGroup.toPartialOrder.{u2} β hβ)) f) -> (forall (a : α) (b : α), Eq.{succ u2} β (f (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α (CommGroup.toGroup.{u1} α (OrderedCommGroup.toCommGroup.{u1} α hα))))))) a b)) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (MulOneClass.toMul.{u2} β (Monoid.toMulOneClass.{u2} β (DivInvMonoid.toMonoid.{u2} β (Group.toDivInvMonoid.{u2} β (CommGroup.toGroup.{u2} β (OrderedCommGroup.toCommGroup.{u2} β hβ))))))) (f a) (f b))) -> (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommGroup.toPartialOrder.{u1} α hα)) (PartialOrder.toPreorder.{u2} β (OrderedCommGroup.toPartialOrder.{u2} β hβ)) (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α (CommGroup.toGroup.{u1} α (OrderedCommGroup.toCommGroup.{u1} α hα))))) (Monoid.toMulOneClass.{u2} β (DivInvMonoid.toMonoid.{u2} β (Group.toDivInvMonoid.{u2} β (CommGroup.toGroup.{u2} β (OrderedCommGroup.toCommGroup.{u2} β hβ))))))
-Case conversion may be inaccurate. Consider using '#align order_monoid_hom.mk' OrderMonoidHom.mk'ₓ'. -/
 /-- Makes an ordered group homomorphism from a proof that the map preserves multiplication. -/
 @[to_additive
       "Makes an ordered additive group homomorphism from a proof that the map preserves\naddition.",
@@ -817,39 +592,21 @@ directly. -/
 instance : CoeFun (α →*₀o β) fun _ => α → β :=
   FunLike.hasCoeToFun
 
-/- warning: order_monoid_with_zero_hom.ext -> OrderMonoidWithZeroHom.ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.ext OrderMonoidWithZeroHom.extₓ'. -/
 -- Other lemmas should be accessed through the `fun_like` API
 @[ext]
 theorem ext (h : ∀ a, f a = g a) : f = g :=
   FunLike.ext f g h
 #align order_monoid_with_zero_hom.ext OrderMonoidWithZeroHom.ext
 
-/- warning: order_monoid_with_zero_hom.to_fun_eq_coe -> OrderMonoidWithZeroHom.toFun_eq_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (MonoidWithZeroHom.toFun.{u1, u2} α β _inst_5 _inst_6 (OrderMonoidWithZeroHom.toMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (ZeroHom.toFun.{u2, u1} α β (MulZeroOneClass.toZero.{u2} α _inst_5) (MulZeroOneClass.toZero.{u1} β _inst_6) (MonoidWithZeroHom.toZeroHom.{u2, u1} α β _inst_5 _inst_6 (OrderMonoidWithZeroHom.toMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.to_fun_eq_coe OrderMonoidWithZeroHom.toFun_eq_coeₓ'. -/
 theorem toFun_eq_coe (f : α →*₀o β) : f.toFun = (f : α → β) :=
   rfl
 #align order_monoid_with_zero_hom.to_fun_eq_coe OrderMonoidWithZeroHom.toFun_eq_coe
 
-/- warning: order_monoid_with_zero_hom.coe_mk -> OrderMonoidWithZeroHom.coe_mk is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (h : Monotone.{u1, u2} α β _inst_1 _inst_2 (MonoidWithZeroHom.toFun.{u1, u2} α β _inst_5 _inst_6 f)), Eq.{max (succ u1) (succ u2)} ((fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidWithZeroHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (ZeroHom.toFun.{u2, u1} α β (MulZeroOneClass.toZero.{u2} α _inst_5) (MulZeroOneClass.toZero.{u1} β _inst_6) (MonoidWithZeroHom.toZeroHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderMonoidWithZeroHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_mk OrderMonoidWithZeroHom.coe_mkₓ'. -/
 @[simp]
 theorem coe_mk (f : α →*₀ β) (h) : (OrderMonoidWithZeroHom.mk f h : α → β) = f :=
   rfl
 #align order_monoid_with_zero_hom.coe_mk OrderMonoidWithZeroHom.coe_mk
 
-/- warning: order_monoid_with_zero_hom.mk_coe -> OrderMonoidWithZeroHom.mk_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.mk_coe OrderMonoidWithZeroHom.mk_coeₓ'. -/
 @[simp]
 theorem mk_coe (f : α →*₀o β) (h) : OrderMonoidWithZeroHom.mk (f : α →*₀ β) h = f := by ext; rfl
 #align order_monoid_with_zero_hom.mk_coe OrderMonoidWithZeroHom.mk_coe
@@ -861,77 +618,35 @@ def toOrderMonoidHom (f : α →*₀o β) : α →*o β :=
 #align order_monoid_with_zero_hom.to_order_monoid_hom OrderMonoidWithZeroHom.toOrderMonoidHom
 -/
 
-/- warning: order_monoid_with_zero_hom.coe_monoid_with_zero_hom -> OrderMonoidWithZeroHom.coe_monoidWithZeroHom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (MonoidWithZeroHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), 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} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u2, u1, max u2 u1} α β (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_monoidWithZeroHomₓ'. -/
 @[simp]
 theorem coe_monoidWithZeroHom (f : α →*₀o β) : ⇑(f : α →*₀ β) = f :=
   rfl
 #align order_monoid_with_zero_hom.coe_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_monoidWithZeroHom
 
-/- warning: order_monoid_with_zero_hom.coe_order_monoid_hom -> OrderMonoidWithZeroHom.coe_orderMonoidHom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{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) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (OrderMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)))) (OrderMonoidHomClass.toOrderMonoidHom.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_order_monoid_hom OrderMonoidWithZeroHom.coe_orderMonoidHomₓ'. -/
 @[simp]
 theorem coe_orderMonoidHom (f : α →*₀o β) : ⇑(f : α →*o β) = f :=
   rfl
 #align order_monoid_with_zero_hom.coe_order_monoid_hom OrderMonoidWithZeroHom.coe_orderMonoidHom
 
-/- warning: order_monoid_with_zero_hom.to_order_monoid_hom_injective -> OrderMonoidWithZeroHom.toOrderMonoidHom_injective is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β], Function.Injective.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (OrderMonoidWithZeroHom.toOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (OrderMonoidWithZeroHom.toOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.to_order_monoid_hom_injective OrderMonoidWithZeroHom.toOrderMonoidHom_injectiveₓ'. -/
 theorem toOrderMonoidHom_injective : Injective (toOrderMonoidHom : _ → α →*o β) := fun f g h =>
   ext <| by convert FunLike.ext_iff.1 h
 #align order_monoid_with_zero_hom.to_order_monoid_hom_injective OrderMonoidWithZeroHom.toOrderMonoidHom_injective
 
-/- warning: order_monoid_with_zero_hom.to_monoid_with_zero_hom_injective -> OrderMonoidWithZeroHom.toMonoidWithZeroHom_injective is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β], Function.Injective.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (OrderMonoidWithZeroHom.toMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) (OrderMonoidWithZeroHom.toMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.to_monoid_with_zero_hom_injective OrderMonoidWithZeroHom.toMonoidWithZeroHom_injectiveₓ'. -/
 theorem toMonoidWithZeroHom_injective : Injective (toMonoidWithZeroHom : _ → α →*₀ β) :=
   fun f g h => ext <| by convert FunLike.ext_iff.1 h
 #align order_monoid_with_zero_hom.to_monoid_with_zero_hom_injective OrderMonoidWithZeroHom.toMonoidWithZeroHom_injective
 
-/- warning: order_monoid_with_zero_hom.copy -> OrderMonoidWithZeroHom.copy is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)) -> (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{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} (OrderMonoidWithZeroHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)) -> (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6))
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.copy OrderMonoidWithZeroHom.copyₓ'. -/
 /-- Copy of an `order_monoid_with_zero_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.toOrderMonoidHom.copy f' h, f.toMonoidWithZeroHom.copy f' h with toFun := f' }
 #align order_monoid_with_zero_hom.copy OrderMonoidWithZeroHom.copy
 
-/- warning: order_monoid_with_zero_hom.coe_copy -> OrderMonoidWithZeroHom.coe_copy is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (OrderMonoidWithZeroHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h)) f'
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)))) (OrderMonoidWithZeroHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h)) f'
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_copy OrderMonoidWithZeroHom.coe_copyₓ'. -/
 @[simp]
 theorem coe_copy (f : α →*₀o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
   rfl
 #align order_monoid_with_zero_hom.coe_copy OrderMonoidWithZeroHom.coe_copy
 
-/- warning: order_monoid_with_zero_hom.copy_eq -> OrderMonoidWithZeroHom.copy_eq is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (OrderMonoidWithZeroHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h) ((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) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (OrderMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)), Eq.{max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (OrderMonoidWithZeroHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h) (OrderMonoidHomClass.toOrderMonoidHom.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.copy_eq OrderMonoidWithZeroHom.copy_eqₓ'. -/
 theorem copy_eq (f : α →*₀o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
   FunLike.ext' h
 #align order_monoid_with_zero_hom.copy_eq OrderMonoidWithZeroHom.copy_eq
@@ -945,12 +660,6 @@ protected def id : α →*₀o α :=
 #align order_monoid_with_zero_hom.id OrderMonoidWithZeroHom.id
 -/
 
-/- warning: order_monoid_with_zero_hom.coe_id -> OrderMonoidWithZeroHom.coe_id is a dubious translation:
-lean 3 declaration is
-  forall (α : Type.{u1}) [_inst_1 : Preorder.{u1} α] [_inst_5 : MulZeroOneClass.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) (fun (_x : OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) => α -> α) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) (OrderMonoidWithZeroHom.id.{u1} α _inst_1 _inst_5)) (id.{succ u1} α)
-but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : Preorder.{u1} α] [_inst_5 : MulZeroOneClass.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_1) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α _inst_1 _inst_1 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{u1, u1, u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α _inst_1 _inst_1 _inst_5 _inst_5 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5)))) (OrderMonoidWithZeroHom.id.{u1} α _inst_1 _inst_5)) (id.{succ u1} α)
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_id OrderMonoidWithZeroHom.coe_idₓ'. -/
 @[simp]
 theorem coe_id : ⇑(OrderMonoidWithZeroHom.id α) = id :=
   rfl
@@ -968,85 +677,49 @@ def comp (f : β →*₀o γ) (g : α →*₀o β) : α →*₀o γ :=
 #align order_monoid_with_zero_hom.comp OrderMonoidWithZeroHom.comp
 -/
 
-/- warning: order_monoid_with_zero_hom.coe_comp -> OrderMonoidWithZeroHom.coe_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_comp OrderMonoidWithZeroHom.coe_compₓ'. -/
 @[simp]
 theorem coe_comp (f : β →*₀o γ) (g : α →*₀o β) : (f.comp g : α → γ) = f ∘ g :=
   rfl
 #align order_monoid_with_zero_hom.coe_comp OrderMonoidWithZeroHom.coe_comp
 
-/- warning: order_monoid_with_zero_hom.comp_apply -> OrderMonoidWithZeroHom.comp_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.comp_apply OrderMonoidWithZeroHom.comp_applyₓ'. -/
 @[simp]
 theorem comp_apply (f : β →*₀o γ) (g : α →*₀o β) (a : α) : (f.comp g) a = f (g a) :=
   rfl
 #align order_monoid_with_zero_hom.comp_apply OrderMonoidWithZeroHom.comp_apply
 
-/- warning: order_monoid_with_zero_hom.coe_comp_monoid_with_zero_hom -> OrderMonoidWithZeroHom.coe_comp_monoidWithZeroHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_comp_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_comp_monoidWithZeroHomₓ'. -/
 @[simp]
 theorem coe_comp_monoidWithZeroHom (f : β →*₀o γ) (g : α →*₀o β) :
     (f.comp g : α →*₀ γ) = (f : β →*₀ γ).comp g :=
   rfl
 #align order_monoid_with_zero_hom.coe_comp_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_comp_monoidWithZeroHom
 
-/- warning: order_monoid_with_zero_hom.coe_comp_order_monoid_hom -> OrderMonoidWithZeroHom.coe_comp_orderMonoidHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_comp_order_monoid_hom OrderMonoidWithZeroHom.coe_comp_orderMonoidHomₓ'. -/
 @[simp]
 theorem coe_comp_orderMonoidHom (f : β →*₀o γ) (g : α →*₀o β) :
     (f.comp g : α →*o γ) = (f : β →*o γ).comp g :=
   rfl
 #align order_monoid_with_zero_hom.coe_comp_order_monoid_hom OrderMonoidWithZeroHom.coe_comp_orderMonoidHom
 
-/- warning: order_monoid_with_zero_hom.comp_assoc -> OrderMonoidWithZeroHom.comp_assoc is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {δ : Type.{u4}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_4 : Preorder.{u4} δ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u3} γ] [_inst_8 : MulZeroOneClass.{u4} δ] (f : OrderMonoidWithZeroHom.{u3, u4} γ δ _inst_3 _inst_4 _inst_7 _inst_8) (g : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (h : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u4)} (OrderMonoidWithZeroHom.{u1, u4} α δ _inst_1 _inst_4 _inst_5 _inst_8) (OrderMonoidWithZeroHom.comp.{u1, u2, u4} α β δ _inst_1 _inst_2 _inst_4 _inst_5 _inst_6 _inst_8 (OrderMonoidWithZeroHom.comp.{u2, u3, u4} β γ δ _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f g) h) (OrderMonoidWithZeroHom.comp.{u1, u3, u4} α γ δ _inst_1 _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 f (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g h))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u4}} {δ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u4} γ] [_inst_4 : Preorder.{u3} δ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u4} γ] [_inst_8 : MulZeroOneClass.{u3} δ] (f : OrderMonoidWithZeroHom.{u4, u3} γ δ _inst_3 _inst_4 _inst_7 _inst_8) (g : OrderMonoidWithZeroHom.{u2, u4} β γ _inst_2 _inst_3 _inst_6 _inst_7) (h : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α δ _inst_1 _inst_4 _inst_5 _inst_8) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β δ _inst_1 _inst_2 _inst_4 _inst_5 _inst_6 _inst_8 (OrderMonoidWithZeroHom.comp.{u2, u4, u3} β γ δ _inst_2 _inst_3 _inst_4 _inst_6 _inst_7 _inst_8 f g) h) (OrderMonoidWithZeroHom.comp.{u1, u4, u3} α γ δ _inst_1 _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 f (OrderMonoidWithZeroHom.comp.{u1, u2, u4} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g h))
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.comp_assoc OrderMonoidWithZeroHom.comp_assocₓ'. -/
 @[simp]
 theorem comp_assoc (f : γ →*₀o δ) (g : β →*₀o γ) (h : α →*₀o β) :
     (f.comp g).comp h = f.comp (g.comp h) :=
   rfl
 #align order_monoid_with_zero_hom.comp_assoc OrderMonoidWithZeroHom.comp_assoc
 
-/- warning: order_monoid_with_zero_hom.comp_id -> OrderMonoidWithZeroHom.comp_id is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidWithZeroHom.comp.{u1, u1, u2} α α β _inst_1 _inst_1 _inst_2 _inst_5 _inst_5 _inst_6 f (OrderMonoidWithZeroHom.id.{u1} α _inst_1 _inst_5)) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidWithZeroHom.comp.{u2, u2, u1} α α β _inst_1 _inst_1 _inst_2 _inst_5 _inst_5 _inst_6 f (OrderMonoidWithZeroHom.id.{u2} α _inst_1 _inst_5)) f
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.comp_id OrderMonoidWithZeroHom.comp_idₓ'. -/
 @[simp]
 theorem comp_id (f : α →*₀o β) : f.comp (OrderMonoidWithZeroHom.id α) = f :=
   ext fun a => rfl
 #align order_monoid_with_zero_hom.comp_id OrderMonoidWithZeroHom.comp_id
 
-/- warning: order_monoid_with_zero_hom.id_comp -> OrderMonoidWithZeroHom.id_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidWithZeroHom.comp.{u1, u2, u2} α β β _inst_1 _inst_2 _inst_2 _inst_5 _inst_6 _inst_6 (OrderMonoidWithZeroHom.id.{u2} β _inst_2 _inst_6) f) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidWithZeroHom.comp.{u2, u1, u1} α β β _inst_1 _inst_2 _inst_2 _inst_5 _inst_6 _inst_6 (OrderMonoidWithZeroHom.id.{u1} β _inst_2 _inst_6) f) f
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.id_comp OrderMonoidWithZeroHom.id_compₓ'. -/
 @[simp]
 theorem id_comp (f : α →*₀o β) : (OrderMonoidWithZeroHom.id β).comp f = f :=
   ext fun a => rfl
 #align order_monoid_with_zero_hom.id_comp OrderMonoidWithZeroHom.id_comp
 
-/- warning: order_monoid_with_zero_hom.cancel_right -> OrderMonoidWithZeroHom.cancel_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.cancel_right OrderMonoidWithZeroHom.cancel_rightₓ'. -/
 theorem cancel_right {g₁ g₂ : β →*₀o γ} {f : α →*₀o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
   ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, congr_arg _⟩
 #align order_monoid_with_zero_hom.cancel_right OrderMonoidWithZeroHom.cancel_right
 
-/- warning: order_monoid_with_zero_hom.cancel_left -> OrderMonoidWithZeroHom.cancel_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.cancel_left OrderMonoidWithZeroHom.cancel_leftₓ'. -/
 theorem cancel_left {g : β →*₀o γ} {f₁ f₂ : α →*₀o β} (hg : Function.Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
   ⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -1064,32 +737,20 @@ sending `a` to `f a * g a`. -/
 instance : Mul (α →*₀o β) :=
   ⟨fun f g => { (f * g : α →*₀ β) with monotone' := f.monotone'.mul' g.monotone' }⟩
 
-/- warning: order_monoid_with_zero_hom.coe_mul -> OrderMonoidWithZeroHom.coe_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_mul OrderMonoidWithZeroHom.coe_mulₓ'. -/
 @[simp]
 theorem coe_mul (f g : α →*₀o β) : ⇑(f * g) = f * g :=
   rfl
 #align order_monoid_with_zero_hom.coe_mul OrderMonoidWithZeroHom.coe_mul
 
-/- warning: order_monoid_with_zero_hom.mul_apply -> OrderMonoidWithZeroHom.mul_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.mul_apply OrderMonoidWithZeroHom.mul_applyₓ'. -/
 @[simp]
 theorem mul_apply (f g : α →*₀o β) (a : α) : (f * g) a = f a * g a :=
   rfl
 #align order_monoid_with_zero_hom.mul_apply OrderMonoidWithZeroHom.mul_apply
 
-/- warning: order_monoid_with_zero_hom.mul_comp -> OrderMonoidWithZeroHom.mul_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.mul_comp OrderMonoidWithZeroHom.mul_compₓ'. -/
 theorem mul_comp (g₁ g₂ : β →*₀o γ) (f : α →*₀o β) : (g₁ * g₂).comp f = g₁.comp f * g₂.comp f :=
   rfl
 #align order_monoid_with_zero_hom.mul_comp OrderMonoidWithZeroHom.mul_comp
 
-/- warning: order_monoid_with_zero_hom.comp_mul -> OrderMonoidWithZeroHom.comp_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.comp_mul OrderMonoidWithZeroHom.comp_mulₓ'. -/
 theorem comp_mul (g : β →*₀o γ) (f₁ f₂ : α →*₀o β) : g.comp (f₁ * f₂) = g.comp f₁ * g.comp f₂ :=
   ext fun _ => map_mul g _ _
 #align order_monoid_with_zero_hom.comp_mul OrderMonoidWithZeroHom.comp_mul
@@ -1102,22 +763,10 @@ variable {hα : Preorder α} {hα' : MulZeroOneClass α} {hβ : Preorder β} {h
 
 include hα hα' hβ hβ'
 
-/- warning: order_monoid_with_zero_hom.to_monoid_with_zero_hom_eq_coe -> OrderMonoidWithZeroHom.toMonoidWithZeroHom_eq_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {hα : Preorder.{u1} α} {hα' : MulZeroOneClass.{u1} α} {hβ : Preorder.{u2} β} {hβ' : MulZeroOneClass.{u2} β} (f : OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ'), Eq.{max (succ u2) (succ u1)} (MonoidWithZeroHom.{u1, u2} α β hα' hβ') (OrderMonoidWithZeroHom.toMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ' f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ') (MonoidWithZeroHom.{u1, u2} α β hα' hβ') (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ') (MonoidWithZeroHom.{u1, u2} α β hα' hβ') (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ') (MonoidWithZeroHom.{u1, u2} α β hα' hβ') (MonoidWithZeroHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ') hα' hβ' (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ') α β hα hβ hα' hβ' (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β hα hβ hα' hβ'))))) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {hα : Preorder.{u2} α} {hα' : MulZeroOneClass.{u2} α} {hβ : Preorder.{u1} β} {hβ' : MulZeroOneClass.{u1} β} (f : OrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ'), Eq.{max (succ u2) (succ u1)} (MonoidWithZeroHom.{u2, u1} α β hα' hβ') (OrderMonoidWithZeroHom.toMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ' f) (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u2, u1, max u2 u1} α β (OrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ') hα' hβ' (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ') α β hα hβ hα' hβ' (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ')) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.to_monoid_with_zero_hom_eq_coe OrderMonoidWithZeroHom.toMonoidWithZeroHom_eq_coeₓ'. -/
 @[simp]
 theorem toMonoidWithZeroHom_eq_coe (f : α →*₀o β) : f.toMonoidWithZeroHom = f := by ext; rfl
 #align order_monoid_with_zero_hom.to_monoid_with_zero_hom_eq_coe OrderMonoidWithZeroHom.toMonoidWithZeroHom_eq_coe
 
-/- warning: order_monoid_with_zero_hom.to_order_monoid_hom_eq_coe -> OrderMonoidWithZeroHom.toOrderMonoidHom_eq_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {hα : Preorder.{u1} α} {hα' : MulZeroOneClass.{u1} α} {hβ : Preorder.{u2} β} {hβ' : MulZeroOneClass.{u2} β} (f : OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ'), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β hα hβ (MulZeroOneClass.toMulOneClass.{u1} α hα') (MulZeroOneClass.toMulOneClass.{u2} β hβ')) (OrderMonoidWithZeroHom.toOrderMonoidHom.{u1, u2} α β hα hβ hα' hβ' 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) (OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ') (OrderMonoidHom.{u1, u2} α β hα hβ (MulZeroOneClass.toMulOneClass.{u1} α hα') (MulZeroOneClass.toMulOneClass.{u2} β hβ')) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ') (OrderMonoidHom.{u1, u2} α β hα hβ (MulZeroOneClass.toMulOneClass.{u1} α hα') (MulZeroOneClass.toMulOneClass.{u2} β hβ')) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ') (OrderMonoidHom.{u1, u2} α β hα hβ (MulZeroOneClass.toMulOneClass.{u1} α hα') (MulZeroOneClass.toMulOneClass.{u2} β hβ')) (OrderMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ') α β hα hβ (MulZeroOneClass.toMulOneClass.{u1} α hα') (MulZeroOneClass.toMulOneClass.{u2} β hβ') (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β hα hβ hα' hβ') α β hα hβ hα' hβ' (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β hα hβ hα' hβ'))))) f)
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} {hα : Preorder.{u2} α} {hα' : MulZeroOneClass.{u2} α} {hβ : Preorder.{u1} β} {hβ' : MulZeroOneClass.{u1} β} (f : OrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ'), Eq.{max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β hα hβ (MulZeroOneClass.toMulOneClass.{u2} α hα') (MulZeroOneClass.toMulOneClass.{u1} β hβ')) (OrderMonoidWithZeroHom.toOrderMonoidHom.{u2, u1} α β hα hβ hα' hβ' f) (OrderMonoidHomClass.toOrderMonoidHom.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ') α β hα hβ (MulZeroOneClass.toMulOneClass.{u2} α hα') (MulZeroOneClass.toMulOneClass.{u1} β hβ') (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ') α β hα hβ hα' hβ' (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ')) f)
-Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.to_order_monoid_hom_eq_coe OrderMonoidWithZeroHom.toOrderMonoidHom_eq_coeₓ'. -/
 @[simp]
 theorem toOrderMonoidHom_eq_coe (f : α →*₀o β) : f.toOrderMonoidHom = f :=
   rfl
Diff
@@ -235,10 +235,7 @@ lean 3 declaration is
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommMonoid.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) {a : α}, (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{u1, u3, u2} F α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (_x : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) _x x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a))
 Case conversion may be inaccurate. Consider using '#align map_nonneg map_nonnegₓ'. -/
-theorem map_nonneg (ha : 0 ≤ a) : 0 ≤ f a :=
-  by
-  rw [← map_zero f]
-  exact OrderHomClass.mono _ ha
+theorem map_nonneg (ha : 0 ≤ a) : 0 ≤ f a := by rw [← map_zero f]; exact OrderHomClass.mono _ ha
 #align map_nonneg map_nonneg
 
 /- warning: map_nonpos -> map_nonpos is a dubious translation:
@@ -247,10 +244,7 @@ lean 3 declaration is
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommMonoid.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) {a : α}, (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1)))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{u1, u3, u2} F α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (_x : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) _x x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align map_nonpos map_nonposₓ'. -/
-theorem map_nonpos (ha : a ≤ 0) : f a ≤ 0 :=
-  by
-  rw [← map_zero f]
-  exact OrderHomClass.mono _ ha
+theorem map_nonpos (ha : a ≤ 0) : f a ≤ 0 := by rw [← map_zero f]; exact OrderHomClass.mono _ ha
 #align map_nonpos map_nonpos
 
 end OrderedAddCommMonoid
@@ -266,11 +260,8 @@ but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Monotone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align monotone_iff_map_nonneg monotone_iff_map_nonnegₓ'. -/
 theorem monotone_iff_map_nonneg : Monotone (f : α → β) ↔ ∀ a, 0 ≤ a → 0 ≤ f a :=
-  ⟨fun h a => by
-    rw [← map_zero f]
-    apply h, fun h a b hl => by
-    rw [← sub_add_cancel b a, map_add f]
-    exact le_add_of_nonneg_left (h _ <| sub_nonneg.2 hl)⟩
+  ⟨fun h a => by rw [← map_zero f]; apply h, fun h a b hl => by
+    rw [← sub_add_cancel b a, map_add f]; exact le_add_of_nonneg_left (h _ <| sub_nonneg.2 hl)⟩
 #align monotone_iff_map_nonneg monotone_iff_map_nonneg
 
 /- warning: antitone_iff_map_nonpos -> antitone_iff_map_nonpos is a dubious translation:
@@ -312,11 +303,8 @@ but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3046 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3048 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3046 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3048) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3061 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3063 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3061 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3063)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align strict_mono_iff_map_pos strictMono_iff_map_posₓ'. -/
 theorem strictMono_iff_map_pos : StrictMono (f : α → β) ↔ ∀ a, 0 < a → 0 < f a :=
-  ⟨fun h a => by
-    rw [← map_zero f]
-    apply h, fun h a b hl => by
-    rw [← sub_add_cancel b a, map_add f]
-    exact lt_add_of_pos_left _ (h _ <| sub_pos.2 hl)⟩
+  ⟨fun h a => by rw [← map_zero f]; apply h, fun h a b hl => by
+    rw [← sub_add_cancel b a, map_add f]; exact lt_add_of_pos_left _ (h _ <| sub_pos.2 hl)⟩
 #align strict_mono_iff_map_pos strictMono_iff_map_pos
 
 /- warning: strict_anti_iff_map_neg -> strictAnti_iff_map_neg is a dubious translation:
@@ -362,10 +350,7 @@ variable [Preorder α] [Preorder β] [Preorder γ] [Preorder δ] [MulOneClass α
 instance : OrderMonoidHomClass (α →*o β) α β
     where
   coe f := f.toFun
-  coe_injective' f g h := by
-    obtain ⟨⟨_, _⟩, _⟩ := f
-    obtain ⟨⟨_, _⟩, _⟩ := g
-    congr
+  coe_injective' f g h := by obtain ⟨⟨_, _⟩, _⟩ := f; obtain ⟨⟨_, _⟩, _⟩ := g; congr
   map_mul f := f.map_mul'
   map_one f := f.map_one'
   Monotone f := f.monotone'
@@ -418,10 +403,7 @@ theorem coe_mk (f : α →* β) (h) : (OrderMonoidHom.mk f h : α → β) = f :=
 <too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.mk_coe OrderMonoidHom.mk_coeₓ'. -/
 @[simp, to_additive]
-theorem mk_coe (f : α →*o β) (h) : OrderMonoidHom.mk (f : α →* β) h = f :=
-  by
-  ext
-  rfl
+theorem mk_coe (f : α →*o β) (h) : OrderMonoidHom.mk (f : α →* β) h = f := by ext; rfl
 #align order_monoid_hom.mk_coe OrderMonoidHom.mk_coe
 #align order_add_monoid_hom.mk_coe OrderAddMonoidHom.mk_coe
 
@@ -703,10 +685,7 @@ but is expected to have type
   forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] (f : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f (OfNat.ofNat.{max u1 u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.toOfNat1.{max u1 u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.instOneOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OfNat.ofNat.{max u1 u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) 1 (One.toOfNat1.{max u1 u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.instOneOrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)))
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.comp_one OrderMonoidHom.comp_oneₓ'. -/
 @[simp, to_additive]
-theorem comp_one (f : β →*o γ) : f.comp (1 : α →*o β) = 1 :=
-  by
-  ext
-  exact map_one f
+theorem comp_one (f : β →*o γ) : f.comp (1 : α →*o β) = 1 := by ext; exact map_one f
 #align order_monoid_hom.comp_one OrderMonoidHom.comp_one
 #align order_add_monoid_hom.comp_zero OrderAddMonoidHom.comp_zero
 
@@ -754,10 +733,8 @@ theorem mul_comp (g₁ g₂ : β →*o γ) (f : α →*o β) : (g₁ * g₂).com
 <too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.comp_mul OrderMonoidHom.comp_mulₓ'. -/
 @[to_additive]
-theorem comp_mul (g : β →*o γ) (f₁ f₂ : α →*o β) : g.comp (f₁ * f₂) = g.comp f₁ * g.comp f₂ :=
-  by
-  ext
-  exact map_mul g _ _
+theorem comp_mul (g : β →*o γ) (f₁ f₂ : α →*o β) : g.comp (f₁ * f₂) = g.comp f₁ * g.comp f₂ := by
+  ext; exact map_mul g _ _
 #align order_monoid_hom.comp_mul OrderMonoidHom.comp_mul
 #align order_add_monoid_hom.comp_add OrderAddMonoidHom.comp_add
 
@@ -776,10 +753,7 @@ but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} {hα : OrderedCommMonoid.{u2} α} {hβ : OrderedCommMonoid.{u1} β} (f : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ)))), Eq.{max (succ u2) (succ u1)} (MonoidHom.{u2, u1} α β (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ)))) (OrderMonoidHom.toMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ))) f) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} α β (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ)))) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ))) (OrderMonoidHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α hα)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β hβ)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α hα))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β hβ))))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.to_monoid_hom_eq_coe OrderMonoidHom.toMonoidHom_eq_coeₓ'. -/
 @[simp, to_additive]
-theorem toMonoidHom_eq_coe (f : α →*o β) : f.toMonoidHom = f :=
-  by
-  ext
-  rfl
+theorem toMonoidHom_eq_coe (f : α →*o β) : f.toMonoidHom = f := by ext; rfl
 #align order_monoid_hom.to_monoid_hom_eq_coe OrderMonoidHom.toMonoidHom_eq_coe
 #align order_add_monoid_hom.to_add_monoid_hom_eq_coe OrderAddMonoidHom.toAddMonoidHom_eq_coe
 
@@ -832,10 +806,7 @@ variable [Preorder α] [Preorder β] [Preorder γ] [Preorder δ] [MulZeroOneClas
 instance : OrderMonoidWithZeroHomClass (α →*₀o β) α β
     where
   coe f := f.toFun
-  coe_injective' f g h := by
-    obtain ⟨⟨_, _⟩, _⟩ := f
-    obtain ⟨⟨_, _⟩, _⟩ := g
-    congr
+  coe_injective' f g h := by obtain ⟨⟨_, _⟩, _⟩ := f; obtain ⟨⟨_, _⟩, _⟩ := g; congr
   map_mul f := f.map_mul'
   map_one f := f.map_one'
   map_zero f := f.map_zero'
@@ -880,10 +851,7 @@ theorem coe_mk (f : α →*₀ β) (h) : (OrderMonoidWithZeroHom.mk f h : α →
 <too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.mk_coe OrderMonoidWithZeroHom.mk_coeₓ'. -/
 @[simp]
-theorem mk_coe (f : α →*₀o β) (h) : OrderMonoidWithZeroHom.mk (f : α →*₀ β) h = f :=
-  by
-  ext
-  rfl
+theorem mk_coe (f : α →*₀o β) (h) : OrderMonoidWithZeroHom.mk (f : α →*₀ β) h = f := by ext; rfl
 #align order_monoid_with_zero_hom.mk_coe OrderMonoidWithZeroHom.mk_coe
 
 #print OrderMonoidWithZeroHom.toOrderMonoidHom /-
@@ -1141,10 +1109,7 @@ but is expected to have type
   forall {α : Type.{u2}} {β : Type.{u1}} {hα : Preorder.{u2} α} {hα' : MulZeroOneClass.{u2} α} {hβ : Preorder.{u1} β} {hβ' : MulZeroOneClass.{u1} β} (f : OrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ'), Eq.{max (succ u2) (succ u1)} (MonoidWithZeroHom.{u2, u1} α β hα' hβ') (OrderMonoidWithZeroHom.toMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ' f) (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u2, u1, max u2 u1} α β (OrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ') hα' hβ' (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ') α β hα hβ hα' hβ' (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β hα hβ hα' hβ')) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.to_monoid_with_zero_hom_eq_coe OrderMonoidWithZeroHom.toMonoidWithZeroHom_eq_coeₓ'. -/
 @[simp]
-theorem toMonoidWithZeroHom_eq_coe (f : α →*₀o β) : f.toMonoidWithZeroHom = f :=
-  by
-  ext
-  rfl
+theorem toMonoidWithZeroHom_eq_coe (f : α →*₀o β) : f.toMonoidWithZeroHom = f := by ext; rfl
 #align order_monoid_with_zero_hom.to_monoid_with_zero_hom_eq_coe OrderMonoidWithZeroHom.toMonoidWithZeroHom_eq_coe
 
 /- warning: order_monoid_with_zero_hom.to_order_monoid_hom_eq_coe -> OrderMonoidWithZeroHom.toOrderMonoidHom_eq_coe is a dubious translation:
Diff
@@ -415,10 +415,7 @@ theorem coe_mk (f : α →* β) (h) : (OrderMonoidHom.mk f h : α → β) = f :=
 #align order_add_monoid_hom.coe_mk OrderAddMonoidHom.coe_mk
 
 /- warning: order_monoid_hom.mk_coe -> OrderMonoidHom.mk_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (h : Monotone.{u1, u2} α β _inst_1 _inst_2 (MonoidHom.toFun.{u1, u2} α β _inst_5 _inst_6 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f))), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f) h) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α _inst_5) (MulOneClass.toOne.{u1} β _inst_6) (MonoidHom.toOneHom.{u2, u1} α β _inst_5 _inst_6 (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} α β (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)))), Eq.{max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} α β (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f) h) f
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.mk_coe OrderMonoidHom.mk_coeₓ'. -/
 @[simp, to_additive]
 theorem mk_coe (f : α →*o β) (h) : OrderMonoidHom.mk (f : α →* β) h = f :=
@@ -565,10 +562,7 @@ def comp (f : β →*o γ) (g : α →*o β) : α →*o γ :=
 -/
 
 /- warning: order_monoid_hom.coe_comp -> OrderMonoidHom.coe_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] (f : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u3)} ((fun (_x : OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (fun (_x : OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] (f : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7))) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6))) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_comp OrderMonoidHom.coe_compₓ'. -/
 @[simp, to_additive]
 theorem coe_comp (f : β →*o γ) (g : α →*o β) : (f.comp g : α → γ) = f ∘ g :=
@@ -577,10 +571,7 @@ theorem coe_comp (f : β →*o γ) (g : α →*o β) : (f.comp g : α → γ) =
 #align order_add_monoid_hom.coe_comp OrderAddMonoidHom.coe_comp
 
 /- warning: order_monoid_hom.comp_apply -> OrderMonoidHom.comp_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] (f : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (fun (_x : OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g a))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] (f : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7))) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6))) g a))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.comp_apply OrderMonoidHom.comp_applyₓ'. -/
 @[simp, to_additive]
 theorem comp_apply (f : β →*o γ) (g : α →*o β) (a : α) : (f.comp g) a = f (g a) :=
@@ -589,10 +580,7 @@ theorem comp_apply (f : β →*o γ) (g : α →*o β) (a : α) : (f.comp g) a =
 #align order_add_monoid_hom.comp_apply OrderAddMonoidHom.comp_apply
 
 /- warning: order_monoid_hom.coe_comp_monoid_hom -> OrderMonoidHom.coe_comp_monoidHom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] (f : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u3) (succ u1)} (MonoidHom.{u1, u3} α γ _inst_5 _inst_7) ((fun (a : Sort.{max (succ u1) (succ u3)}) (b : Sort.{max (succ u3) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u3), max (succ u3) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (MonoidHom.{u1, u3} α γ _inst_5 _inst_7) (HasLiftT.mk.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (MonoidHom.{u1, u3} α γ _inst_5 _inst_7) (CoeTCₓ.coe.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (MonoidHom.{u1, u3} α γ _inst_5 _inst_7) (MonoidHom.hasCoeT.{u1, u3, max u1 u3} α γ (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) _inst_5 _inst_7 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidHom.orderMonoidHomClass.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7))))) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (MonoidHom.comp.{u1, u2, u3} α β γ _inst_5 _inst_6 _inst_7 ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u3) (succ u2)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u3) (succ u2)} a b] => self.0) (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (MonoidHom.{u2, u3} β γ _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (MonoidHom.{u2, u3} β γ _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (MonoidHom.{u2, u3} β γ _inst_6 _inst_7) (MonoidHom.hasCoeT.{u2, u3, max u2 u3} β γ (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) _inst_6 _inst_7 (OrderMonoidHomClass.toMonoidHomClass.{max u2 u3, u2, u3} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.orderMonoidHomClass.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7))))) f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) g))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] (f : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (MonoidHom.{u1, u2} α γ _inst_5 _inst_7) (MonoidHomClass.toMonoidHom.{u1, u2, max u1 u2} α γ (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) _inst_5 _inst_7 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (MonoidHom.comp.{u1, u3, u2} α β γ _inst_5 _inst_6 _inst_7 (MonoidHomClass.toMonoidHom.{u3, u2, max u3 u2} β γ (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) _inst_6 _inst_7 (OrderMonoidHomClass.toMonoidHomClass.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)) f) (MonoidHomClass.toMonoidHom.{u1, u3, max u1 u3} α β (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_comp_monoid_hom OrderMonoidHom.coe_comp_monoidHomₓ'. -/
 @[simp, to_additive]
 theorem coe_comp_monoidHom (f : β →*o γ) (g : α →*o β) :
@@ -602,10 +590,7 @@ theorem coe_comp_monoidHom (f : β →*o γ) (g : α →*o β) :
 #align order_add_monoid_hom.coe_comp_add_monoid_hom OrderAddMonoidHom.coe_comp_addMonoidHom
 
 /- warning: order_monoid_hom.coe_comp_order_hom -> OrderMonoidHom.coe_comp_orderHom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] (f : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u3)} (OrderHom.{u1, u3} α γ _inst_1 _inst_3) ((fun (a : Sort.{max (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderHom.{u1, u3} α γ _inst_1 _inst_3) (HasLiftT.mk.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderHom.{u1, u3} α γ _inst_1 _inst_3) (CoeTCₓ.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderHom.{u1, u3} α γ _inst_1 _inst_3) (OrderHomClass.OrderHom.hasCoeT.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidHom.orderMonoidHomClass.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7))))) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (OrderHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (OrderHom.{u2, u3} β γ _inst_2 _inst_3) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (OrderHom.{u2, u3} β γ _inst_2 _inst_3) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (OrderHom.{u2, u3} β γ _inst_2 _inst_3) (OrderHomClass.OrderHom.hasCoeT.{max u2 u3, u2, u3} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (OrderMonoidHomClass.toOrderHomClass.{max u2 u3, u2, u3} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.orderMonoidHomClass.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7))))) 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) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (OrderHomClass.OrderHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) g))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] (f : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (OrderHom.{u1, u2} α γ _inst_1 _inst_3) (OrderHomClass.toOrderHom.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (OrderHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (OrderHomClass.toOrderHom.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)) f) (OrderHomClass.toOrderHom.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_comp_order_hom OrderMonoidHom.coe_comp_orderHomₓ'. -/
 @[simp, to_additive]
 theorem coe_comp_orderHom (f : β →*o γ) (g : α →*o β) : (f.comp g : α →o γ) = (f : β →o γ).comp g :=
@@ -651,10 +636,7 @@ theorem id_comp (f : α →*o β) : (OrderMonoidHom.id β).comp f = f :=
 #align order_add_monoid_hom.id_comp OrderAddMonoidHom.id_comp
 
 /- warning: order_monoid_hom.cancel_right -> OrderMonoidHom.cancel_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] {g₁ : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {g₂ : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₁ f) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₂ f)) (Eq.{max (succ u2) (succ u3)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) g₁ g₂))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] {g₁ : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {g₂ : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₁ f) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₂ f)) (Eq.{max (succ u3) (succ u2)} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) g₁ g₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.cancel_right OrderMonoidHom.cancel_rightₓ'. -/
 @[to_additive]
 theorem cancel_right {g₁ g₂ : β →*o γ} {f : α →*o β} (hf : Function.Surjective f) :
@@ -664,10 +646,7 @@ theorem cancel_right {g₁ g₂ : β →*o γ} {f : α →*o β} (hf : Function.
 #align order_add_monoid_hom.cancel_right OrderAddMonoidHom.cancel_right
 
 /- warning: order_monoid_hom.cancel_left -> OrderMonoidHom.cancel_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] {g : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f₁ : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {f₂ : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₁) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₂)) (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f₁ f₂))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] {g : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f₁ : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6} {f₂ : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₁) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₂)) (Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) f₁ f₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.cancel_left OrderMonoidHom.cancel_leftₓ'. -/
 @[to_additive]
 theorem cancel_left {g : β →*o γ} {f₁ f₂ : α →*o β} (hg : Function.Injective g) :
@@ -745,10 +724,7 @@ instance : Mul (α →*o β) :=
   ⟨fun f g => { (f * g : α →* β) with monotone' := f.monotone'.mul' g.monotone' }⟩
 
 /- warning: order_monoid_hom.coe_mul -> OrderMonoidHom.coe_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : OrderedCommMonoid.{u1} α] [_inst_2 : OrderedCommMonoid.{u2} β] (f : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (g : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))), Eq.{succ (max u1 u2)} (α -> β) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (instHMul.{max u1 u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.hasMul.{u1, u2} α β _inst_1 _inst_2)) f g)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> β) (α -> β) (α -> β) (instHMul.{max u1 u2} (α -> β) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => MulOneClass.toHasMul.{u2} β (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) g))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommMonoid.{u2} α] [_inst_2 : OrderedCommMonoid.{u1} β] (f : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (g : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))), 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} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.instMulOrderMonoidHomToPreorderToPartialOrderToPreorderToPartialOrderToMulOneClassToMonoidToCommMonoidToMulOneClassToMonoidToCommMonoid.{u2, u1} α β _inst_1 _inst_2)) f g)) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (instHMul.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (fun (i : α) => MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (CommMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (OrderedCommMonoid.toCommMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) _inst_2)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_mul OrderMonoidHom.coe_mulₓ'. -/
 @[simp, to_additive]
 theorem coe_mul (f g : α →*o β) : ⇑(f * g) = f * g :=
@@ -757,10 +733,7 @@ theorem coe_mul (f g : α →*o β) : ⇑(f * g) = f * g :=
 #align order_add_monoid_hom.coe_add OrderAddMonoidHom.coe_add
 
 /- warning: order_monoid_hom.mul_apply -> OrderMonoidHom.mul_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : OrderedCommMonoid.{u1} α] [_inst_2 : OrderedCommMonoid.{u2} β] (f : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (g : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (instHMul.{max u1 u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.hasMul.{u1, u2} α β _inst_1 _inst_2)) f g) a) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (MulOneClass.toHasMul.{u2} β (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) g a))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommMonoid.{u2} α] [_inst_2 : OrderedCommMonoid.{u1} β] (f : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (g : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.instMulOrderMonoidHomToPreorderToPartialOrderToPreorderToPartialOrderToMulOneClassToMonoidToCommMonoidToMulOneClassToMonoidToCommMonoid.{u2, u1} α β _inst_1 _inst_2)) f g) a) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (instHMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (CommMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedCommMonoid.toCommMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) g a))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.mul_apply OrderMonoidHom.mul_applyₓ'. -/
 @[simp, to_additive]
 theorem mul_apply (f g : α →*o β) (a : α) : (f * g) a = f a * g a :=
@@ -769,10 +742,7 @@ theorem mul_apply (f g : α →*o β) (a : α) : (f * g) a = f a * g a :=
 #align order_add_monoid_hom.add_apply OrderAddMonoidHom.add_apply
 
 /- warning: order_monoid_hom.mul_comp -> OrderMonoidHom.mul_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : OrderedCommMonoid.{u1} α] [_inst_2 : OrderedCommMonoid.{u2} β] [_inst_3 : OrderedCommMonoid.{u3} γ] (g₁ : OrderMonoidHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (g₂ : OrderMonoidHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (f : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))), Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (OrderMonoidHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3))) (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (OrderMonoidHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (OrderMonoidHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (OrderMonoidHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (instHMul.{max u2 u3} (OrderMonoidHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (OrderMonoidHom.hasMul.{u2, u3} β γ _inst_2 _inst_3)) g₁ g₂) f) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (OrderMonoidHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (OrderMonoidHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (OrderMonoidHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (instHMul.{max u1 u3} (OrderMonoidHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (OrderMonoidHom.hasMul.{u1, u3} α γ _inst_1 _inst_3)) (OrderMonoidHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3))) g₁ f) (OrderMonoidHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3))) g₂ f))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : OrderedCommMonoid.{u1} α] [_inst_2 : OrderedCommMonoid.{u3} β] [_inst_3 : OrderedCommMonoid.{u2} γ] (g₁ : OrderMonoidHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (g₂ : OrderMonoidHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (f : OrderMonoidHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2)))), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (OrderMonoidHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3))) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (OrderMonoidHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (OrderMonoidHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (OrderMonoidHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (instHMul.{max u3 u2} (OrderMonoidHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (OrderMonoidHom.instMulOrderMonoidHomToPreorderToPartialOrderToPreorderToPartialOrderToMulOneClassToMonoidToCommMonoidToMulOneClassToMonoidToCommMonoid.{u3, u2} β γ _inst_2 _inst_3)) g₁ g₂) f) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (OrderMonoidHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (OrderMonoidHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (instHMul.{max u1 u2} (OrderMonoidHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (OrderMonoidHom.instMulOrderMonoidHomToPreorderToPartialOrderToPreorderToPartialOrderToMulOneClassToMonoidToCommMonoidToMulOneClassToMonoidToCommMonoid.{u1, u2} α γ _inst_1 _inst_3)) (OrderMonoidHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3))) g₁ f) (OrderMonoidHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3))) g₂ f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.mul_comp OrderMonoidHom.mul_compₓ'. -/
 @[to_additive]
 theorem mul_comp (g₁ g₂ : β →*o γ) (f : α →*o β) : (g₁ * g₂).comp f = g₁.comp f * g₂.comp f :=
@@ -781,10 +751,7 @@ theorem mul_comp (g₁ g₂ : β →*o γ) (f : α →*o β) : (g₁ * g₂).com
 #align order_add_monoid_hom.add_comp OrderAddMonoidHom.add_comp
 
 /- warning: order_monoid_hom.comp_mul -> OrderMonoidHom.comp_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : OrderedCommMonoid.{u1} α] [_inst_2 : OrderedCommMonoid.{u2} β] [_inst_3 : OrderedCommMonoid.{u3} γ] (g : OrderMonoidHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (f₁ : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (f₂ : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))), Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (OrderMonoidHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3))) g (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (instHMul.{max u1 u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.hasMul.{u1, u2} α β _inst_1 _inst_2)) f₁ f₂)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (OrderMonoidHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (OrderMonoidHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (OrderMonoidHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (instHMul.{max u1 u3} (OrderMonoidHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3)))) (OrderMonoidHom.hasMul.{u1, u3} α γ _inst_1 _inst_3)) (OrderMonoidHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3))) g f₁) (OrderMonoidHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))) (Monoid.toMulOneClass.{u3} γ (CommMonoid.toMonoid.{u3} γ (OrderedCommMonoid.toCommMonoid.{u3} γ _inst_3))) g f₂))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : OrderedCommMonoid.{u1} α] [_inst_2 : OrderedCommMonoid.{u3} β] [_inst_3 : OrderedCommMonoid.{u2} γ] (g : OrderMonoidHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (f₁ : OrderMonoidHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2)))) (f₂ : OrderMonoidHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2)))), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (OrderMonoidHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3))) g (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (OrderMonoidHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2)))) (OrderMonoidHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2)))) (OrderMonoidHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2)))) (instHMul.{max u1 u3} (OrderMonoidHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2)))) (OrderMonoidHom.instMulOrderMonoidHomToPreorderToPartialOrderToPreorderToPartialOrderToMulOneClassToMonoidToCommMonoidToMulOneClassToMonoidToCommMonoid.{u1, u3} α β _inst_1 _inst_2)) f₁ f₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (OrderMonoidHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (OrderMonoidHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (instHMul.{max u1 u2} (OrderMonoidHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3)))) (OrderMonoidHom.instMulOrderMonoidHomToPreorderToPartialOrderToPreorderToPartialOrderToMulOneClassToMonoidToCommMonoidToMulOneClassToMonoidToCommMonoid.{u1, u2} α γ _inst_1 _inst_3)) (OrderMonoidHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3))) g f₁) (OrderMonoidHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β _inst_2)) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ _inst_3)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u3} β (CommMonoid.toMonoid.{u3} β (OrderedCommMonoid.toCommMonoid.{u3} β _inst_2))) (Monoid.toMulOneClass.{u2} γ (CommMonoid.toMonoid.{u2} γ (OrderedCommMonoid.toCommMonoid.{u2} γ _inst_3))) g f₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.comp_mul OrderMonoidHom.comp_mulₓ'. -/
 @[to_additive]
 theorem comp_mul (g : β →*o γ) (f₁ f₂ : α →*o β) : g.comp (f₁ * f₂) = g.comp f₁ * g.comp f₂ :=
@@ -880,10 +847,7 @@ instance : CoeFun (α →*₀o β) fun _ => α → β :=
   FunLike.hasCoeToFun
 
 /- warning: order_monoid_with_zero_hom.ext -> OrderMonoidWithZeroHom.ext is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] {f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {g : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f g)
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] {f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {g : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{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} (OrderMonoidWithZeroHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{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} (OrderMonoidWithZeroHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)))) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.ext OrderMonoidWithZeroHom.extₓ'. -/
 -- Other lemmas should be accessed through the `fun_like` API
 @[ext]
@@ -913,10 +877,7 @@ theorem coe_mk (f : α →*₀ β) (h) : (OrderMonoidWithZeroHom.mk f h : α →
 #align order_monoid_with_zero_hom.coe_mk OrderMonoidWithZeroHom.coe_mk
 
 /- warning: order_monoid_with_zero_hom.mk_coe -> OrderMonoidWithZeroHom.mk_coe is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (h : Monotone.{u1, u2} α β _inst_1 _inst_2 (MonoidWithZeroHom.toFun.{u1, u2} α β _inst_5 _inst_6 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (MonoidWithZeroHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f))), Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidWithZeroHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (MonoidWithZeroHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f) h) f
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (ZeroHom.toFun.{u2, u1} α β (MulZeroOneClass.toZero.{u2} α _inst_5) (MulZeroOneClass.toZero.{u1} β _inst_6) (MonoidWithZeroHom.toZeroHom.{u2, u1} α β _inst_5 _inst_6 (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u2, u1, max u2 u1} α β (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)))), Eq.{max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidWithZeroHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u2, u1, max u2 u1} α β (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f) h) f
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.mk_coe OrderMonoidWithZeroHom.mk_coeₓ'. -/
 @[simp]
 theorem mk_coe (f : α →*₀o β) (h) : OrderMonoidWithZeroHom.mk (f : α →*₀ β) h = f :=
@@ -1040,10 +1001,7 @@ def comp (f : β →*₀o γ) (g : α →*₀o β) : α →*₀o γ :=
 -/
 
 /- warning: order_monoid_with_zero_hom.coe_comp -> OrderMonoidWithZeroHom.coe_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u3} γ] (f : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u3)} ((fun (_x : OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (fun (_x : OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidWithZeroHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] (f : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)))) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)))) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_comp OrderMonoidWithZeroHom.coe_compₓ'. -/
 @[simp]
 theorem coe_comp (f : β →*₀o γ) (g : α →*₀o β) : (f.comp g : α → γ) = f ∘ g :=
@@ -1051,10 +1009,7 @@ theorem coe_comp (f : β →*₀o γ) (g : α →*₀o β) : (f.comp g : α →
 #align order_monoid_with_zero_hom.coe_comp OrderMonoidWithZeroHom.coe_comp
 
 /- warning: order_monoid_with_zero_hom.comp_apply -> OrderMonoidWithZeroHom.comp_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u3} γ] (f : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (fun (_x : OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidWithZeroHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g a))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] (f : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)))) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)))) g a))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.comp_apply OrderMonoidWithZeroHom.comp_applyₓ'. -/
 @[simp]
 theorem comp_apply (f : β →*₀o γ) (g : α →*₀o β) (a : α) : (f.comp g) a = f (g a) :=
@@ -1062,10 +1017,7 @@ theorem comp_apply (f : β →*₀o γ) (g : α →*₀o β) (a : α) : (f.comp
 #align order_monoid_with_zero_hom.comp_apply OrderMonoidWithZeroHom.comp_apply
 
 /- warning: order_monoid_with_zero_hom.coe_comp_monoid_with_zero_hom -> OrderMonoidWithZeroHom.coe_comp_monoidWithZeroHom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u3} γ] (f : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u3) (succ u1)} (MonoidWithZeroHom.{u1, u3} α γ _inst_5 _inst_7) ((fun (a : Sort.{max (succ u1) (succ u3)}) (b : Sort.{max (succ u3) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u3), max (succ u3) (succ u1)} a b] => self.0) (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (MonoidWithZeroHom.{u1, u3} α γ _inst_5 _inst_7) (HasLiftT.mk.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (MonoidWithZeroHom.{u1, u3} α γ _inst_5 _inst_7) (CoeTCₓ.coe.{max (succ u1) (succ u3), max (succ u3) (succ u1)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (MonoidWithZeroHom.{u1, u3} α γ _inst_5 _inst_7) (MonoidWithZeroHom.hasCoeT.{u1, u3, max u1 u3} α γ (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) _inst_5 _inst_7 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7))))) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (MonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_5 _inst_6 _inst_7 ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u3) (succ u2)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u3) (succ u2)} a b] => self.0) (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (MonoidWithZeroHom.{u2, u3} β γ _inst_6 _inst_7) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (MonoidWithZeroHom.{u2, u3} β γ _inst_6 _inst_7) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u3) (succ u2)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (MonoidWithZeroHom.{u2, u3} β γ _inst_6 _inst_7) (MonoidWithZeroHom.hasCoeT.{u2, u3, max u2 u3} β γ (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) _inst_6 _inst_7 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u3, u2, u3} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7))))) f) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (MonoidWithZeroHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) g))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] (f : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (MonoidWithZeroHom.{u1, u2} α γ _inst_5 _inst_7) (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u1, u2, max u1 u2} α γ (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) _inst_5 _inst_7 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (MonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_5 _inst_6 _inst_7 (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u3, u2, max u3 u2} β γ (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) _inst_6 _inst_7 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)) f) (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u1, u3, max u1 u3} α β (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_comp_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_comp_monoidWithZeroHomₓ'. -/
 @[simp]
 theorem coe_comp_monoidWithZeroHom (f : β →*₀o γ) (g : α →*₀o β) :
@@ -1074,10 +1026,7 @@ theorem coe_comp_monoidWithZeroHom (f : β →*₀o γ) (g : α →*₀o β) :
 #align order_monoid_with_zero_hom.coe_comp_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_comp_monoidWithZeroHom
 
 /- warning: order_monoid_with_zero_hom.coe_comp_order_monoid_hom -> OrderMonoidWithZeroHom.coe_comp_orderMonoidHom is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u3} γ] (f : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} γ _inst_7)) ((fun (a : Sort.{max (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} γ _inst_7)) (HasLiftT.mk.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} γ _inst_7)) (CoeTCₓ.coe.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} γ _inst_7)) (OrderMonoidHom.hasCoeT.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7))))) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (MulZeroOneClass.toMulOneClass.{u3} γ _inst_7) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (MulZeroOneClass.toMulOneClass.{u3} γ _inst_7)) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (MulZeroOneClass.toMulOneClass.{u3} γ _inst_7)) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (MulZeroOneClass.toMulOneClass.{u3} γ _inst_7)) (OrderMonoidHom.hasCoeT.{max u2 u3, u2, u3} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (MulZeroOneClass.toMulOneClass.{u3} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u3, u2, u3} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7))))) 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) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (OrderMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) g))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] (f : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7)) (OrderMonoidHomClass.toOrderMonoidHom.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidHomClass.toOrderMonoidHom.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)) f) (OrderMonoidHomClass.toOrderMonoidHom.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_comp_order_monoid_hom OrderMonoidWithZeroHom.coe_comp_orderMonoidHomₓ'. -/
 @[simp]
 theorem coe_comp_orderMonoidHom (f : β →*₀o γ) (g : α →*₀o β) :
@@ -1120,10 +1069,7 @@ theorem id_comp (f : α →*₀o β) : (OrderMonoidWithZeroHom.id β).comp f = f
 #align order_monoid_with_zero_hom.id_comp OrderMonoidWithZeroHom.id_comp
 
 /- warning: order_monoid_with_zero_hom.cancel_right -> OrderMonoidWithZeroHom.cancel_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u3} γ] {g₁ : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {g₂ : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₁ f) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₂ f)) (Eq.{max (succ u2) (succ u3)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) g₁ g₂))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] {g₁ : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {g₂ : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₁ f) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₂ f)) (Eq.{max (succ u3) (succ u2)} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) g₁ g₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.cancel_right OrderMonoidWithZeroHom.cancel_rightₓ'. -/
 theorem cancel_right {g₁ g₂ : β →*₀o γ} {f : α →*₀o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
@@ -1131,10 +1077,7 @@ theorem cancel_right {g₁ g₂ : β →*₀o γ} {f : α →*₀o β} (hf : Fun
 #align order_monoid_with_zero_hom.cancel_right OrderMonoidWithZeroHom.cancel_right
 
 /- warning: order_monoid_with_zero_hom.cancel_left -> OrderMonoidWithZeroHom.cancel_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u3} γ] {g : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f₁ : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {f₂ : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidWithZeroHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₁) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₂)) (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f₁ f₂))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] {g : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f₁ : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6} {f₂ : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₁) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₂)) (Eq.{max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) f₁ f₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.cancel_left OrderMonoidWithZeroHom.cancel_leftₓ'. -/
 theorem cancel_left {g : β →*₀o γ} {f₁ f₂ : α →*₀o β} (hg : Function.Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
@@ -1154,10 +1097,7 @@ instance : Mul (α →*₀o β) :=
   ⟨fun f g => { (f * g : α →*₀ β) with monotone' := f.monotone'.mul' g.monotone' }⟩
 
 /- warning: order_monoid_with_zero_hom.coe_mul -> OrderMonoidWithZeroHom.coe_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u1} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (g : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))), Eq.{succ (max u1 u2)} (α -> β) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (instHMul.{max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.hasMul.{u1, u2} α β _inst_1 _inst_2)) f g)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> β) (α -> β) (α -> β) (instHMul.{max u1 u2} (α -> β) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => MulZeroClass.toHasMul.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) g))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u2} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (g : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))), 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} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.instMulOrderMonoidWithZeroHomToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZeroToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZero.{u2, u1} α β _inst_1 _inst_2)) f g)) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (instHMul.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (fun (i : α) => MulZeroClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (MulZeroOneClass.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (MonoidWithZero.toMulZeroOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (CommMonoidWithZero.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) _inst_2))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_mul OrderMonoidWithZeroHom.coe_mulₓ'. -/
 @[simp]
 theorem coe_mul (f g : α →*₀o β) : ⇑(f * g) = f * g :=
@@ -1165,10 +1105,7 @@ theorem coe_mul (f g : α →*₀o β) : ⇑(f * g) = f * g :=
 #align order_monoid_with_zero_hom.coe_mul OrderMonoidWithZeroHom.coe_mul
 
 /- warning: order_monoid_with_zero_hom.mul_apply -> OrderMonoidWithZeroHom.mul_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u1} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (g : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (instHMul.{max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.hasMul.{u1, u2} α β _inst_1 _inst_2)) f g) a) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (MulZeroClass.toHasMul.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) g a))
-but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u2} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (g : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (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} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.instMulOrderMonoidWithZeroHomToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZeroToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZero.{u2, u1} α β _inst_1 _inst_2)) f g) a) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (instHMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (MulZeroClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (MulZeroOneClass.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (MonoidWithZero.toMulZeroOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (CommMonoidWithZero.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) g a))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.mul_apply OrderMonoidWithZeroHom.mul_applyₓ'. -/
 @[simp]
 theorem mul_apply (f g : α →*₀o β) (a : α) : (f * g) a = f a * g a :=
@@ -1176,20 +1113,14 @@ theorem mul_apply (f g : α →*₀o β) (a : α) : (f * g) a = f a * g a :=
 #align order_monoid_with_zero_hom.mul_apply OrderMonoidWithZeroHom.mul_apply
 
 /- warning: order_monoid_with_zero_hom.mul_comp -> OrderMonoidWithZeroHom.mul_comp is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u1} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} β] [_inst_3 : LinearOrderedCommMonoidWithZero.{u3} γ] (g₁ : OrderMonoidWithZeroHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (g₂ : OrderMonoidWithZeroHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (f : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))), Eq.{max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3))) (HMul.hMul.{max u2 u3, max u2 u3, max u2 u3} (OrderMonoidWithZeroHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (OrderMonoidWithZeroHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (OrderMonoidWithZeroHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (instHMul.{max u2 u3} (OrderMonoidWithZeroHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (OrderMonoidWithZeroHom.hasMul.{u2, u3} β γ _inst_2 _inst_3)) g₁ g₂) f) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (OrderMonoidWithZeroHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (OrderMonoidWithZeroHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (OrderMonoidWithZeroHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (instHMul.{max u1 u3} (OrderMonoidWithZeroHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (OrderMonoidWithZeroHom.hasMul.{u1, u3} α γ _inst_1 _inst_3)) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3))) g₁ f) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3))) g₂ f))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u1} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u3} β] [_inst_3 : LinearOrderedCommMonoidWithZero.{u2} γ] (g₁ : OrderMonoidWithZeroHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (g₂ : OrderMonoidWithZeroHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (f : OrderMonoidWithZeroHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2)))), Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3))) (HMul.hMul.{max u3 u2, max u3 u2, max u3 u2} (OrderMonoidWithZeroHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (OrderMonoidWithZeroHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (OrderMonoidWithZeroHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (instHMul.{max u3 u2} (OrderMonoidWithZeroHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (OrderMonoidWithZeroHom.instMulOrderMonoidWithZeroHomToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZeroToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZero.{u3, u2} β γ _inst_2 _inst_3)) g₁ g₂) f) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (OrderMonoidWithZeroHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (OrderMonoidWithZeroHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (instHMul.{max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (OrderMonoidWithZeroHom.instMulOrderMonoidWithZeroHomToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZeroToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZero.{u1, u2} α γ _inst_1 _inst_3)) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3))) g₁ f) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3))) g₂ f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.mul_comp OrderMonoidWithZeroHom.mul_compₓ'. -/
 theorem mul_comp (g₁ g₂ : β →*₀o γ) (f : α →*₀o β) : (g₁ * g₂).comp f = g₁.comp f * g₂.comp f :=
   rfl
 #align order_monoid_with_zero_hom.mul_comp OrderMonoidWithZeroHom.mul_comp
 
 /- warning: order_monoid_with_zero_hom.comp_mul -> OrderMonoidWithZeroHom.comp_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u1} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} β] [_inst_3 : LinearOrderedCommMonoidWithZero.{u3} γ] (g : OrderMonoidWithZeroHom.{u2, u3} β γ (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (f₁ : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (f₂ : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))), Eq.{max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3))) g (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (instHMul.{max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.hasMul.{u1, u2} α β _inst_1 _inst_2)) f₁ f₂)) (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (OrderMonoidWithZeroHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (OrderMonoidWithZeroHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (OrderMonoidWithZeroHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (instHMul.{max u1 u3} (OrderMonoidWithZeroHom.{u1, u3} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3)))) (OrderMonoidWithZeroHom.hasMul.{u1, u3} α γ _inst_1 _inst_3)) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3))) g f₁) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (PartialOrder.toPreorder.{u3} γ (OrderedCommMonoid.toPartialOrder.{u3} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u3} γ (CommMonoidWithZero.toMonoidWithZero.{u3} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} γ _inst_3))) g f₂))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u1} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u3} β] [_inst_3 : LinearOrderedCommMonoidWithZero.{u2} γ] (g : OrderMonoidWithZeroHom.{u3, u2} β γ (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (f₁ : OrderMonoidWithZeroHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2)))) (f₂ : OrderMonoidWithZeroHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2)))), Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3))) g (HMul.hMul.{max u1 u3, max u1 u3, max u1 u3} (OrderMonoidWithZeroHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2)))) (instHMul.{max u1 u3} (OrderMonoidWithZeroHom.{u1, u3} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2)))) (OrderMonoidWithZeroHom.instMulOrderMonoidWithZeroHomToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZeroToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZero.{u1, u3} α β _inst_1 _inst_2)) f₁ f₂)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (OrderMonoidWithZeroHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (OrderMonoidWithZeroHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (instHMul.{max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3)))) (OrderMonoidWithZeroHom.instMulOrderMonoidWithZeroHomToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZeroToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZero.{u1, u2} α γ _inst_1 _inst_3)) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3))) g f₁) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u3} β (OrderedCommMonoid.toPartialOrder.{u3} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u3} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u3} β _inst_2)))) (PartialOrder.toPreorder.{u2} γ (OrderedCommMonoid.toPartialOrder.{u2} γ (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} γ (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} γ _inst_3)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u3} β (CommMonoidWithZero.toMonoidWithZero.{u3} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u3} β _inst_2))) (MonoidWithZero.toMulZeroOneClass.{u2} γ (CommMonoidWithZero.toMonoidWithZero.{u2} γ (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} γ _inst_3))) g f₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.comp_mul OrderMonoidWithZeroHom.comp_mulₓ'. -/
 theorem comp_mul (g : β →*₀o γ) (f₁ f₂ : α →*₀o β) : g.comp (f₁ * f₂) = g.comp f₁ * g.comp f₂ :=
   ext fun _ => map_mul g _ _
Diff
@@ -233,7 +233,7 @@ include β
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommMonoid.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))))))) a) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (RelHomClass.toFunLike.{u1, u2, u3} F α β (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)))) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)))) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommMonoid.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) {a : α}, (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{u1, u3, u2} F α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (_x : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) _x x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommMonoid.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) {a : α}, (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{u1, u3, u2} F α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (_x : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) _x x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a))
 Case conversion may be inaccurate. Consider using '#align map_nonneg map_nonnegₓ'. -/
 theorem map_nonneg (ha : 0 ≤ a) : 0 ≤ f a :=
   by
@@ -245,7 +245,7 @@ theorem map_nonneg (ha : 0 ≤ a) : 0 ≤ f a :=
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommMonoid.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1)))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (RelHomClass.toFunLike.{u1, u2, u3} F α β (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)))) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)))) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommMonoid.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) {a : α}, (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1)))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{u1, u3, u2} F α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (_x : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) _x x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) _inst_2))))))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommMonoid.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) {a : α}, (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1)))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{u1, u3, u2} F α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) x._@.Mathlib.Order.Hom.Basic._hyg.1902 x._@.Mathlib.Order.Hom.Basic._hyg.1904) (fun (_x : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1926 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) _x x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align map_nonpos map_nonposₓ'. -/
 theorem map_nonpos (ha : a ≤ 0) : f a ≤ 0 :=
   by
@@ -309,7 +309,7 @@ variable [CovariantClass β β (· + ·) (· < ·)]
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictMono.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3040 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3042 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3040 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3042) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3055 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3057 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3055 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3057)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3046 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3048 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3046 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3048) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3061 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3063 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3061 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3063)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align strict_mono_iff_map_pos strictMono_iff_map_posₓ'. -/
 theorem strictMono_iff_map_pos : StrictMono (f : α → β) ↔ ∀ a, 0 < a → 0 < f a :=
   ⟨fun h a => by
@@ -323,7 +323,7 @@ theorem strictMono_iff_map_pos : StrictMono (f : α → β) ↔ ∀ a, 0 < a →
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictAnti.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3217 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3219 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3217 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3219) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3232 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3234 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3232 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3234)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3223 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3225 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3223 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3225) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3238 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3240 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3238 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3240)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align strict_anti_iff_map_neg strictAnti_iff_map_negₓ'. -/
 theorem strictAnti_iff_map_neg : StrictAnti (f : α → β) ↔ ∀ a, 0 < a → f a < 0 :=
   strictMono_toDual_comp_iff.symm.trans <| strictMono_iff_map_pos _
@@ -333,7 +333,7 @@ theorem strictAnti_iff_map_neg : StrictAnti (f : α → β) ↔ ∀ a, 0 < a →
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictMono.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3302 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3304 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3302 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3304) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3317 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3319 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3317 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3319)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3308 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3310 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3308 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3310) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3323 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3325 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3323 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3325)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align strict_mono_iff_map_neg strictMono_iff_map_negₓ'. -/
 theorem strictMono_iff_map_neg : StrictMono (f : α → β) ↔ ∀ a < 0, f a < 0 :=
   strictAnti_comp_ofDual_iff.symm.trans <| strictAnti_iff_map_neg _
@@ -343,7 +343,7 @@ theorem strictMono_iff_map_neg : StrictMono (f : α → β) ↔ ∀ a < 0, f a <
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictAnti.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3393 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3395 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3393 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3395) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3408 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3410 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3408 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3410)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3399 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3401 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3399 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3401) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3414 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3416 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3414 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3416)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align strict_anti_iff_map_pos strictAnti_iff_map_posₓ'. -/
 theorem strictAnti_iff_map_pos : StrictAnti (f : α → β) ↔ ∀ a < 0, 0 < f a :=
   strictMono_comp_ofDual_iff.symm.trans <| strictMono_iff_map_pos _
@@ -381,7 +381,7 @@ instance : CoeFun (α →*o β) fun _ => α → β :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] {f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {g : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f g)
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] {f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {g : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) f a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f g)
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] {f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {g : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) f a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f g)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.ext OrderMonoidHom.extₓ'. -/
 -- Other lemmas should be accessed through the `fun_like` API
 @[ext, to_additive]
@@ -394,7 +394,7 @@ theorem ext (h : ∀ a, f a = g a) : f = g :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (MonoidHom.toFun.{u1, u2} α β _inst_5 _inst_6 (OrderMonoidHom.toMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α _inst_5) (MulOneClass.toOne.{u1} β _inst_6) (MonoidHom.toOneHom.{u2, u1} α β _inst_5 _inst_6 (OrderMonoidHom.toMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α _inst_5) (MulOneClass.toOne.{u1} β _inst_6) (MonoidHom.toOneHom.{u2, u1} α β _inst_5 _inst_6 (OrderMonoidHom.toMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.to_fun_eq_coe OrderMonoidHom.toFun_eq_coeₓ'. -/
 @[to_additive]
 theorem toFun_eq_coe (f : α →*o β) : f.toFun = (f : α → β) :=
@@ -406,7 +406,7 @@ theorem toFun_eq_coe (f : α →*o β) : f.toFun = (f : α → β) :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : MonoidHom.{u1, u2} α β _inst_5 _inst_6) (h : Monotone.{u1, u2} α β _inst_1 _inst_2 (MonoidHom.toFun.{u1, u2} α β _inst_5 _inst_6 f)), Eq.{max (succ u1) (succ u2)} ((fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : MonoidHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α _inst_5) (MulOneClass.toOne.{u1} β _inst_6) (MonoidHom.toOneHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OrderMonoidHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : MonoidHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α _inst_5) (MulOneClass.toOne.{u1} β _inst_6) (MonoidHom.toOneHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OrderMonoidHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_mk OrderMonoidHom.coe_mkₓ'. -/
 @[simp, to_additive]
 theorem coe_mk (f : α →* β) (h) : (OrderMonoidHom.mk f h : α → β) = f :=
@@ -441,7 +441,7 @@ def toOrderHom (f : α →*o β) : α →o β :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} ((fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} α β (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} α β (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_monoid_hom OrderMonoidHom.coe_monoidHomₓ'. -/
 @[simp, to_additive]
 theorem coe_monoidHom (f : α →*o β) : ((f : α →* β) : α → β) = f :=
@@ -453,7 +453,7 @@ theorem coe_monoidHom (f : α →*o β) : ((f : α →* β) : α → β) = f :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} ((fun (_x : OrderHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) ((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) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (OrderHomClass.OrderHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderHom.{u1, u2} α β _inst_1 _inst_2) (fun (_x : OrderHom.{u1, u2} α β _inst_1 _inst_2) => α -> β) (OrderHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2) ((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) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderHom.{u1, u2} α β _inst_1 _inst_2) (OrderHomClass.OrderHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (OrderHom.toFun.{u2, u1} α β _inst_1 _inst_2 (OrderHomClass.toOrderHom.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (OrderHom.toFun.{u2, u1} α β _inst_1 _inst_2 (OrderHomClass.toOrderHom.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_order_hom OrderMonoidHom.coe_orderHomₓ'. -/
 @[simp, to_additive]
 theorem coe_orderHom (f : α →*o β) : ((f : α →o β) : α → β) = f :=
@@ -489,7 +489,7 @@ theorem toOrderHom_injective : Injective (toOrderHom : _ → α →o β) := fun
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)) -> (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)) -> (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)) -> (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.copy OrderMonoidHom.copyₓ'. -/
 /-- Copy of an `order_monoid_hom` with a new `to_fun` equal to the old one. Useful to fix
 definitional equalities. -/
@@ -506,7 +506,7 @@ protected def copy (f : α →*o β) (f' : α → β) (h : f' = f) : α →*o β
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h)) f'
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OrderMonoidHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h)) f'
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OrderMonoidHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h)) f'
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_copy OrderMonoidHom.coe_copyₓ'. -/
 @[simp, to_additive]
 theorem coe_copy (f : α →*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
@@ -518,7 +518,7 @@ theorem coe_copy (f : α →*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f'
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h) f
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)), Eq.{max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h) f
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)), Eq.{max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h) f
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.copy_eq OrderMonoidHom.copy_eqₓ'. -/
 @[to_additive]
 theorem copy_eq (f : α →*o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
@@ -541,7 +541,7 @@ protected def id : α →*o α :=
 lean 3 declaration is
   forall (α : Type.{u1}) [_inst_1 : Preorder.{u1} α] [_inst_5 : MulOneClass.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) (fun (_x : OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) => α -> α) (OrderMonoidHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) (OrderMonoidHom.id.{u1} α _inst_1 _inst_5)) (id.{succ u1} α)
 but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : Preorder.{u1} α] [_inst_5 : MulOneClass.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_1) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α _inst_1 _inst_1 _inst_5 _inst_5 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5))) (OrderMonoidHom.id.{u1} α _inst_1 _inst_5)) (id.{succ u1} α)
+  forall (α : Type.{u1}) [_inst_1 : Preorder.{u1} α] [_inst_5 : MulOneClass.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_1) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α _inst_1 _inst_1 _inst_5 _inst_5 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5))) (OrderMonoidHom.id.{u1} α _inst_1 _inst_5)) (id.{succ u1} α)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_id OrderMonoidHom.coe_idₓ'. -/
 @[simp, to_additive]
 theorem coe_id : ⇑(OrderMonoidHom.id α) = id :=
@@ -568,7 +568,7 @@ def comp (f : β →*o γ) (g : α →*o β) : α →*o γ :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] (f : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u3)} ((fun (_x : OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (fun (_x : OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] (f : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7))) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6))) g))
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] (f : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7))) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6))) g))
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_comp OrderMonoidHom.coe_compₓ'. -/
 @[simp, to_additive]
 theorem coe_comp (f : β →*o γ) (g : α →*o β) : (f.comp g : α → γ) = f ∘ g :=
@@ -580,7 +580,7 @@ theorem coe_comp (f : β →*o γ) (g : α →*o β) : (f.comp g : α → γ) =
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] (f : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (fun (_x : OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g a))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] (f : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7))) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6))) g a))
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] (f : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7))) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6))) g a))
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.comp_apply OrderMonoidHom.comp_applyₓ'. -/
 @[simp, to_additive]
 theorem comp_apply (f : β →*o γ) (g : α →*o β) (a : α) : (f.comp g) a = f (g a) :=
@@ -654,7 +654,7 @@ theorem id_comp (f : α →*o β) : (OrderMonoidHom.id β).comp f = f :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] {g₁ : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {g₂ : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₁ f) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₂ f)) (Eq.{max (succ u2) (succ u3)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) g₁ g₂))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] {g₁ : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {g₂ : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₁ f) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₂ f)) (Eq.{max (succ u3) (succ u2)} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) g₁ g₂))
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] {g₁ : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {g₂ : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₁ f) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₂ f)) (Eq.{max (succ u3) (succ u2)} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) g₁ g₂))
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.cancel_right OrderMonoidHom.cancel_rightₓ'. -/
 @[to_additive]
 theorem cancel_right {g₁ g₂ : β →*o γ} {f : α →*o β} (hf : Function.Surjective f) :
@@ -667,7 +667,7 @@ theorem cancel_right {g₁ g₂ : β →*o γ} {f : α →*o β} (hf : Function.
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] [_inst_7 : MulOneClass.{u3} γ] {g : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f₁ : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {f₂ : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₁) (OrderMonoidHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₂)) (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f₁ f₂))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] {g : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f₁ : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6} {f₂ : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₁) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₂)) (Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) f₁ f₂))
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u3} β] [_inst_7 : MulOneClass.{u2} γ] {g : OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f₁ : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6} {f₂ : OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₁) (OrderMonoidHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₂)) (Eq.{max (succ u1) (succ u3)} (OrderMonoidHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) f₁ f₂))
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.cancel_left OrderMonoidHom.cancel_leftₓ'. -/
 @[to_additive]
 theorem cancel_left {g : β →*o γ} {f₁ f₂ : α →*o β} (hg : Function.Injective g) :
@@ -685,7 +685,7 @@ instance : One (α →*o β) :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β], Eq.{succ (max u1 u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), succ (max u1 u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OfNat.ofNat.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (OfNat.mk.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.one.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.hasOne.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) (OfNat.ofNat.{max u1 u2} (α -> β) 1 (OfNat.mk.{max u1 u2} (α -> β) 1 (One.one.{max u1 u2} (α -> β) (Pi.instOne.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => MulOneClass.toHasOne.{u2} β _inst_6)))))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β], 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OfNat.ofNat.{max u2 u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.toOfNat1.{max u2 u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.instOneOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OfNat.ofNat.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) 1 (One.toOfNat1.{max u2 u1} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (Pi.instOne.{u2, u1} α (fun (a : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (fun (i : α) => MulOneClass.toOne.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) i) _inst_6))))
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β], 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OfNat.ofNat.{max u2 u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.toOfNat1.{max u2 u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.instOneOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OfNat.ofNat.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) 1 (One.toOfNat1.{max u2 u1} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (Pi.instOne.{u2, u1} α (fun (a : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (fun (i : α) => MulOneClass.toOne.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) _inst_6))))
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_one OrderMonoidHom.coe_oneₓ'. -/
 @[simp, to_additive]
 theorem coe_one : ⇑(1 : α →*o β) = 1 :=
@@ -697,7 +697,7 @@ theorem coe_one : ⇑(1 : α →*o β) = 1 :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OfNat.ofNat.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (OfNat.mk.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.one.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.hasOne.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)))) a) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β (MulOneClass.toHasOne.{u2} β _inst_6))))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OfNat.ofNat.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.toOfNat1.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.instOneOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (MulOneClass.toOne.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) _inst_6)))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidHom.{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} (OrderMonoidHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OfNat.ofNat.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) 1 (One.toOfNat1.{max u1 u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.instOneOrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))) a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) 1 (One.toOfNat1.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (MulOneClass.toOne.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_6)))
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.one_apply OrderMonoidHom.one_applyₓ'. -/
 @[simp, to_additive]
 theorem one_apply (a : α) : (1 : α →*o β) a = 1 :=
@@ -748,7 +748,7 @@ instance : Mul (α →*o β) :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : OrderedCommMonoid.{u1} α] [_inst_2 : OrderedCommMonoid.{u2} β] (f : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (g : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))), Eq.{succ (max u1 u2)} (α -> β) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (instHMul.{max u1 u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.hasMul.{u1, u2} α β _inst_1 _inst_2)) f g)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> β) (α -> β) (α -> β) (instHMul.{max u1 u2} (α -> β) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => MulOneClass.toHasMul.{u2} β (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) g))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommMonoid.{u2} α] [_inst_2 : OrderedCommMonoid.{u1} β] (f : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (g : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))), 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} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.instMulOrderMonoidHomToPreorderToPartialOrderToPreorderToPartialOrderToMulOneClassToMonoidToCommMonoidToMulOneClassToMonoidToCommMonoid.{u2, u1} α β _inst_1 _inst_2)) f g)) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (instHMul.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (fun (i : α) => MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) i) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) i) (CommMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) i) (OrderedCommMonoid.toCommMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) i) _inst_2)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) g))
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommMonoid.{u2} α] [_inst_2 : OrderedCommMonoid.{u1} β] (f : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (g : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))), 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} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.instMulOrderMonoidHomToPreorderToPartialOrderToPreorderToPartialOrderToMulOneClassToMonoidToCommMonoidToMulOneClassToMonoidToCommMonoid.{u2, u1} α β _inst_1 _inst_2)) f g)) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (instHMul.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (fun (i : α) => MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (CommMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (OrderedCommMonoid.toCommMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) _inst_2)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) g))
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_mul OrderMonoidHom.coe_mulₓ'. -/
 @[simp, to_additive]
 theorem coe_mul (f g : α →*o β) : ⇑(f * g) = f * g :=
@@ -760,7 +760,7 @@ theorem coe_mul (f g : α →*o β) : ⇑(f * g) = f * g :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : OrderedCommMonoid.{u1} α] [_inst_2 : OrderedCommMonoid.{u2} β] (f : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (g : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (instHMul.{max u1 u2} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (OrderMonoidHom.hasMul.{u1, u2} α β _inst_1 _inst_2)) f g) a) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (MulOneClass.toHasMul.{u2} β (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) (fun (_x : OrderMonoidHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β _inst_2)) (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α (OrderedCommMonoid.toCommMonoid.{u1} α _inst_1))) (Monoid.toMulOneClass.{u2} β (CommMonoid.toMonoid.{u2} β (OrderedCommMonoid.toCommMonoid.{u2} β _inst_2)))) g a))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommMonoid.{u2} α] [_inst_2 : OrderedCommMonoid.{u1} β] (f : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (g : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.instMulOrderMonoidHomToPreorderToPartialOrderToPreorderToPartialOrderToMulOneClassToMonoidToCommMonoidToMulOneClassToMonoidToCommMonoid.{u2, u1} α β _inst_1 _inst_2)) f g) a) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (instHMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (CommMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (OrderedCommMonoid.toCommMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) g a))
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommMonoid.{u2} α] [_inst_2 : OrderedCommMonoid.{u1} β] (f : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (g : OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (a : α), Eq.{succ u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) (OrderMonoidHom.instMulOrderMonoidHomToPreorderToPartialOrderToPreorderToPartialOrderToMulOneClassToMonoidToCommMonoidToMulOneClassToMonoidToCommMonoid.{u2, u1} α β _inst_1 _inst_2)) f g) a) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (instHMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (MulOneClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (Monoid.toMulOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (CommMonoid.toMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (OrderedCommMonoid.toCommMonoid.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2))) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β _inst_2)) (Monoid.toMulOneClass.{u2} α (CommMonoid.toMonoid.{u2} α (OrderedCommMonoid.toCommMonoid.{u2} α _inst_1))) (Monoid.toMulOneClass.{u1} β (CommMonoid.toMonoid.{u1} β (OrderedCommMonoid.toCommMonoid.{u1} β _inst_2)))))) g a))
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.mul_apply OrderMonoidHom.mul_applyₓ'. -/
 @[simp, to_additive]
 theorem mul_apply (f g : α →*o β) (a : α) : (f * g) a = f a * g a :=
@@ -883,7 +883,7 @@ instance : CoeFun (α →*₀o β) fun _ => α → β :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] {f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {g : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f g)
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] {f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {g : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{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} (OrderMonoidWithZeroHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{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} (OrderMonoidWithZeroHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)))) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f g)
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] {f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {g : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (forall (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{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} (OrderMonoidWithZeroHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{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} (OrderMonoidWithZeroHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)))) g a)) -> (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f g)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.ext OrderMonoidWithZeroHom.extₓ'. -/
 -- Other lemmas should be accessed through the `fun_like` API
 @[ext]
@@ -895,7 +895,7 @@ theorem ext (h : ∀ a, f a = g a) : f = g :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (MonoidWithZeroHom.toFun.{u1, u2} α β _inst_5 _inst_6 (OrderMonoidWithZeroHom.toMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (ZeroHom.toFun.{u2, u1} α β (MulZeroOneClass.toZero.{u2} α _inst_5) (MulZeroOneClass.toZero.{u1} β _inst_6) (MonoidWithZeroHom.toZeroHom.{u2, u1} α β _inst_5 _inst_6 (OrderMonoidWithZeroHom.toMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (α -> β) (ZeroHom.toFun.{u2, u1} α β (MulZeroOneClass.toZero.{u2} α _inst_5) (MulZeroOneClass.toZero.{u1} β _inst_6) (MonoidWithZeroHom.toZeroHom.{u2, u1} α β _inst_5 _inst_6 (OrderMonoidWithZeroHom.toMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.to_fun_eq_coe OrderMonoidWithZeroHom.toFun_eq_coeₓ'. -/
 theorem toFun_eq_coe (f : α →*₀o β) : f.toFun = (f : α → β) :=
   rfl
@@ -905,7 +905,7 @@ theorem toFun_eq_coe (f : α →*₀o β) : f.toFun = (f : α → β) :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (h : Monotone.{u1, u2} α β _inst_1 _inst_2 (MonoidWithZeroHom.toFun.{u1, u2} α β _inst_5 _inst_6 f)), Eq.{max (succ u1) (succ u2)} ((fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidWithZeroHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (ZeroHom.toFun.{u2, u1} α β (MulZeroOneClass.toZero.{u2} α _inst_5) (MulZeroOneClass.toZero.{u1} β _inst_6) (MonoidWithZeroHom.toZeroHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderMonoidWithZeroHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (ZeroHom.toFun.{u2, u1} α β (MulZeroOneClass.toZero.{u2} α _inst_5) (MulZeroOneClass.toZero.{u1} β _inst_6) (MonoidWithZeroHom.toZeroHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderMonoidWithZeroHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_mk OrderMonoidWithZeroHom.coe_mkₓ'. -/
 @[simp]
 theorem coe_mk (f : α →*₀ β) (h) : (OrderMonoidWithZeroHom.mk f h : α → β) = f :=
@@ -936,7 +936,7 @@ def toOrderMonoidHom (f : α →*₀o β) : α →*o β :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (MonoidWithZeroHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), 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} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u2, u1, max u2 u1} α β (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), 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} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u2, u1, max u2 u1} α β (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_monoidWithZeroHomₓ'. -/
 @[simp]
 theorem coe_monoidWithZeroHom (f : α →*₀o β) : ⇑(f : α →*₀ β) = f :=
@@ -947,7 +947,7 @@ theorem coe_monoidWithZeroHom (f : α →*₀o β) : ⇑(f : α →*₀ β) = f
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{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) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (OrderMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)))) (OrderMonoidHomClass.toOrderMonoidHom.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)))) (OrderMonoidHomClass.toOrderMonoidHom.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_order_monoid_hom OrderMonoidWithZeroHom.coe_orderMonoidHomₓ'. -/
 @[simp]
 theorem coe_orderMonoidHom (f : α →*₀o β) : ⇑(f : α →*o β) = f :=
@@ -978,7 +978,7 @@ theorem toMonoidWithZeroHom_injective : Injective (toMonoidWithZeroHom : _ → 
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)) -> (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{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} (OrderMonoidWithZeroHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)) -> (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6))
+  forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β), (Eq.{max (succ u1) (succ u2)} (α -> β) f' (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{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} (OrderMonoidWithZeroHom.{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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)) -> (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6))
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.copy OrderMonoidWithZeroHom.copyₓ'. -/
 /-- Copy of an `order_monoid_with_zero_hom` with a new `to_fun` equal to the old one. Useful to fix
 definitional equalities. -/
@@ -990,7 +990,7 @@ protected def copy (f : α →*₀o β) (f' : α → β) (h : f' = f) : α →*o
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (OrderMonoidWithZeroHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h)) f'
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)))) (OrderMonoidWithZeroHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h)) f'
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) 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} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)))) (OrderMonoidWithZeroHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h)) f'
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_copy OrderMonoidWithZeroHom.coe_copyₓ'. -/
 @[simp]
 theorem coe_copy (f : α →*₀o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
@@ -1001,7 +1001,7 @@ theorem coe_copy (f : α →*₀o β) (f' : α → β) (h : f' = f) : ⇑(f.copy
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u1) (succ u2)} (α -> β) f' (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)), Eq.{max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (OrderMonoidWithZeroHom.copy.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h) ((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) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6)) (OrderMonoidHom.hasCoeT.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)), Eq.{max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (OrderMonoidWithZeroHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h) (OrderMonoidHomClass.toOrderMonoidHom.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) (f' : α -> β) (h : Eq.{max (succ u2) (succ u1)} (α -> β) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)), Eq.{max (succ u2) (succ u1)} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (OrderMonoidWithZeroHom.copy.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f f' h) (OrderMonoidHomClass.toOrderMonoidHom.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.copy_eq OrderMonoidWithZeroHom.copy_eqₓ'. -/
 theorem copy_eq (f : α →*₀o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
   FunLike.ext' h
@@ -1020,7 +1020,7 @@ protected def id : α →*₀o α :=
 lean 3 declaration is
   forall (α : Type.{u1}) [_inst_1 : Preorder.{u1} α] [_inst_5 : MulZeroOneClass.{u1} α], Eq.{succ u1} (α -> α) (coeFn.{succ u1, succ u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) (fun (_x : OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) => α -> α) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) (OrderMonoidWithZeroHom.id.{u1} α _inst_1 _inst_5)) (id.{succ u1} α)
 but is expected to have type
-  forall (α : Type.{u1}) [_inst_1 : Preorder.{u1} α] [_inst_5 : MulZeroOneClass.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_1) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α _inst_1 _inst_1 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{u1, u1, u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α _inst_1 _inst_1 _inst_5 _inst_5 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5)))) (OrderMonoidWithZeroHom.id.{u1} α _inst_1 _inst_5)) (id.{succ u1} α)
+  forall (α : Type.{u1}) [_inst_1 : Preorder.{u1} α] [_inst_5 : MulZeroOneClass.{u1} α], Eq.{succ u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => α) _x) (RelHomClass.toFunLike.{u1, u1, u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_1) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{u1, u1, u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α _inst_1 _inst_1 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{u1, u1, u1} (OrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5) α α _inst_1 _inst_1 _inst_5 _inst_5 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u1} α α _inst_1 _inst_1 _inst_5 _inst_5)))) (OrderMonoidWithZeroHom.id.{u1} α _inst_1 _inst_5)) (id.{succ u1} α)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_id OrderMonoidWithZeroHom.coe_idₓ'. -/
 @[simp]
 theorem coe_id : ⇑(OrderMonoidWithZeroHom.id α) = id :=
@@ -1043,7 +1043,7 @@ def comp (f : β →*₀o γ) (g : α →*₀o β) : α →*₀o γ :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u3} γ] (f : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u3)} ((fun (_x : OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (fun (_x : OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (Function.comp.{succ u1, succ u2, succ u3} α β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidWithZeroHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] (f : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)))) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)))) g))
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] (f : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)))) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g)) (Function.comp.{succ u1, succ u3, succ u2} α β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)))) f) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)))) g))
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_comp OrderMonoidWithZeroHom.coe_compₓ'. -/
 @[simp]
 theorem coe_comp (f : β →*₀o γ) (g : α →*₀o β) : (f.comp g : α → γ) = f ∘ g :=
@@ -1054,7 +1054,7 @@ theorem coe_comp (f : β →*₀o γ) (g : α →*₀o β) : (f.comp g : α →
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u3} γ] (f : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (a : α), Eq.{succ u3} γ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (fun (_x : OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) => α -> γ) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g) a) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidWithZeroHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) f (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) g a))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] (f : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)))) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)))) g a))
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] (f : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) (g : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) (a : α), Eq.{succ u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) a) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => γ) _x) (RelHomClass.toFunLike.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u1} α (Preorder.toLE.{u1} α _inst_1) 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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) α γ _inst_1 _inst_3 _inst_5 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7)))) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 f g) a) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)))) f (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)))) g a))
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.comp_apply OrderMonoidWithZeroHom.comp_applyₓ'. -/
 @[simp]
 theorem comp_apply (f : β →*₀o γ) (g : α →*₀o β) (a : α) : (f.comp g) a = f (g a) :=
@@ -1123,7 +1123,7 @@ theorem id_comp (f : α →*₀o β) : (OrderMonoidWithZeroHom.id β).comp f = f
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u3} γ] {g₁ : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {g₂ : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Surjective.{succ u1, succ u2} α β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₁ f) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₂ f)) (Eq.{max (succ u2) (succ u3)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) g₁ g₂))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] {g₁ : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {g₂ : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₁ f) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₂ f)) (Eq.{max (succ u3) (succ u2)} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) g₁ g₂))
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] {g₁ : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {g₂ : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Surjective.{succ u1, succ u3} α β (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _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_1) 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_2) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u1} α _inst_5) (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u1 u3, u1, u3} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₁ f) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g₂ f)) (Eq.{max (succ u3) (succ u2)} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) g₁ g₂))
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.cancel_right OrderMonoidWithZeroHom.cancel_rightₓ'. -/
 theorem cancel_right {g₁ g₂ : β →*₀o γ} {f : α →*₀o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
@@ -1134,7 +1134,7 @@ theorem cancel_right {g₁ g₂ : β →*₀o γ} {f : α →*₀o β} (hf : Fun
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_3 : Preorder.{u3} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] [_inst_7 : MulZeroOneClass.{u3} γ] {g : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f₁ : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6} {f₂ : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Injective.{succ u2, succ u3} β γ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : OrderMonoidWithZeroHom.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) => β -> γ) (OrderMonoidWithZeroHom.hasCoeToFun.{u2, u3} β γ _inst_2 _inst_3 _inst_6 _inst_7) g)) -> (Iff (Eq.{max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₁) (OrderMonoidWithZeroHom.comp.{u1, u2, u3} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₂)) (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f₁ f₂))
 but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] {g : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f₁ : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6} {f₂ : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₁) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₂)) (Eq.{max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) f₁ f₂))
+  forall {α : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : Preorder.{u2} γ] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u3} β] [_inst_7 : MulZeroOneClass.{u2} γ] {g : OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7} {f₁ : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6} {f₂ : OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6}, (Function.Injective.{succ u3, succ u2} β γ (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β (fun (_x : β) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : β) => γ) _x) (RelHomClass.toFunLike.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : β) => LE.le.{u3} β (Preorder.toLE.{u3} β _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_3) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 (MulZeroOneClass.toMulOneClass.{u3} β _inst_6) (MulZeroOneClass.toMulOneClass.{u2} γ _inst_7) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u3 u2, u3, u2} (OrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7) β γ _inst_2 _inst_3 _inst_6 _inst_7 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u3, u2} β γ _inst_2 _inst_3 _inst_6 _inst_7)))) g)) -> (Iff (Eq.{max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α γ _inst_1 _inst_3 _inst_5 _inst_7) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₁) (OrderMonoidWithZeroHom.comp.{u1, u3, u2} α β γ _inst_1 _inst_2 _inst_3 _inst_5 _inst_6 _inst_7 g f₂)) (Eq.{max (succ u1) (succ u3)} (OrderMonoidWithZeroHom.{u1, u3} α β _inst_1 _inst_2 _inst_5 _inst_6) f₁ f₂))
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.cancel_left OrderMonoidWithZeroHom.cancel_leftₓ'. -/
 theorem cancel_left {g : β →*₀o γ} {f₁ f₂ : α →*₀o β} (hg : Function.Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
@@ -1157,7 +1157,7 @@ instance : Mul (α →*₀o β) :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u1} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (g : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))), Eq.{succ (max u1 u2)} (α -> β) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (instHMul.{max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.hasMul.{u1, u2} α β _inst_1 _inst_2)) f g)) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (α -> β) (α -> β) (α -> β) (instHMul.{max u1 u2} (α -> β) (Pi.instMul.{u1, u2} α (fun (ᾰ : α) => β) (fun (i : α) => MulZeroClass.toHasMul.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2))))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) f) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) g))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u2} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (g : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))), 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} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.instMulOrderMonoidWithZeroHomToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZeroToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZero.{u2, u1} α β _inst_1 _inst_2)) f g)) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (instHMul.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) ᾰ) (fun (i : α) => MulZeroClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) i) (MulZeroOneClass.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) i) (MonoidWithZero.toMulZeroOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) i) (CommMonoidWithZero.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) i) (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) i) _inst_2))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) g))
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u2} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (g : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))), 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} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.instMulOrderMonoidWithZeroHomToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZeroToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZero.{u2, u1} α β _inst_1 _inst_2)) f g)) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (instHMul.{max u2 u1} (forall (ᾰ : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (Pi.instMul.{u2, u1} α (fun (ᾰ : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) ᾰ) (fun (i : α) => MulZeroClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (MulZeroOneClass.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (MonoidWithZero.toMulZeroOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (CommMonoidWithZero.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) i) _inst_2))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) f) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) g))
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_mul OrderMonoidWithZeroHom.coe_mulₓ'. -/
 @[simp]
 theorem coe_mul (f g : α →*₀o β) : ⇑(f * g) = f * g :=
@@ -1168,7 +1168,7 @@ theorem coe_mul (f g : α →*₀o β) : ⇑(f * g) = f * g :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u1} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (g : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (a : α), Eq.{succ u2} β (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (HMul.hMul.{max u1 u2, max u1 u2, max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (instHMul.{max u1 u2} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (OrderMonoidWithZeroHom.hasMul.{u1, u2} α β _inst_1 _inst_2)) f g) a) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (MulZeroClass.toHasMul.{u2} β (MulZeroOneClass.toMulZeroClass.{u2} β (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) f a) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β (PartialOrder.toPreorder.{u1} α (OrderedCommMonoid.toPartialOrder.{u1} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} α _inst_1)))) (PartialOrder.toPreorder.{u2} β (OrderedCommMonoid.toPartialOrder.{u2} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u1} α (CommMonoidWithZero.toMonoidWithZero.{u1} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u2} β (CommMonoidWithZero.toMonoidWithZero.{u2} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} β _inst_2)))) g a))
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u2} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (g : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (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} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.instMulOrderMonoidWithZeroHomToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZeroToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZero.{u2, u1} α β _inst_1 _inst_2)) f g) a) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (instHMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (MulZeroClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (MulZeroOneClass.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (MonoidWithZero.toMulZeroOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (CommMonoidWithZero.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) _inst_2)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1918 x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) g a))
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedCommMonoidWithZero.{u2} α] [_inst_2 : LinearOrderedCommMonoidWithZero.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (g : OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (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} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) (HMul.hMul.{max u2 u1, max u2 u1, max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (instHMul.{max u2 u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHom.instMulOrderMonoidWithZeroHomToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToPreorderToPartialOrderToOrderedCommMonoidToLinearOrderedCommMonoidToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZeroToMulZeroOneClassToMonoidWithZeroToCommMonoidWithZero.{u2, u1} α β _inst_1 _inst_2)) f g) a) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (instHMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (MulZeroClass.toMul.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (MulZeroOneClass.toMulZeroClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (MonoidWithZero.toMulZeroOneClass.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (CommMonoidWithZero.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) a) _inst_2)))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) f a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.869 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1902 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1904 : α) => LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1))))) 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} β (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2))))) x._@.Mathlib.Order.Hom.Basic._hyg.1924 x._@.Mathlib.Order.Hom.Basic._hyg.1926) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MulZeroOneClass.toMulOneClass.{u2} α (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1)))) (MulZeroOneClass.toMulOneClass.{u1} β (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2)))) α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))) (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β (PartialOrder.toPreorder.{u2} α (OrderedCommMonoid.toPartialOrder.{u2} α (LinearOrderedCommMonoid.toOrderedCommMonoid.{u2} α (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u2} α _inst_1)))) (PartialOrder.toPreorder.{u1} β (OrderedCommMonoid.toPartialOrder.{u1} β (LinearOrderedCommMonoid.toOrderedCommMonoid.{u1} β (LinearOrderedCommMonoidWithZero.toLinearOrderedCommMonoid.{u1} β _inst_2)))) (MonoidWithZero.toMulZeroOneClass.{u2} α (CommMonoidWithZero.toMonoidWithZero.{u2} α (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u2} α _inst_1))) (MonoidWithZero.toMulZeroOneClass.{u1} β (CommMonoidWithZero.toMonoidWithZero.{u1} β (LinearOrderedCommMonoidWithZero.toCommMonoidWithZero.{u1} β _inst_2))))))) g a))
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.mul_apply OrderMonoidWithZeroHom.mul_applyₓ'. -/
 @[simp]
 theorem mul_apply (f g : α →*₀o β) (a : α) : (f * g) a = f a * g a :=
Diff
@@ -142,7 +142,12 @@ class OrderMonoidHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α
 
 end
 
-#print OrderMonoidHomClass.toOrderHomClass /-
+/- warning: order_monoid_hom_class.to_order_hom_class -> OrderMonoidHomClass.toOrderHomClass is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u3} β] [_inst_3 : MulOneClass.{u2} α] [_inst_4 : MulOneClass.{u3} β] [_inst_5 : OrderMonoidHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4], OrderHomClass.{u1, u2, u3} F α β (Preorder.toHasLe.{u2} α _inst_1) (Preorder.toHasLe.{u3} β _inst_2)
+but is expected to have type
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : Preorder.{u2} α} {_inst_2 : Preorder.{u3} β} {_inst_3 : MulOneClass.{u2} α} {_inst_4 : MulOneClass.{u3} β} [_inst_5 : OrderMonoidHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3 _inst_4], OrderHomClass.{u1, u2, u3} F α β (Preorder.toLE.{u2} α _inst_1) (Preorder.toLE.{u3} β _inst_2)
+Case conversion may be inaccurate. Consider using '#align order_monoid_hom_class.to_order_hom_class OrderMonoidHomClass.toOrderHomClassₓ'. -/
 -- See note [lower instance priority]
 @[to_additive]
 instance (priority := 100) OrderMonoidHomClass.toOrderHomClass [OrderMonoidHomClass F α β] :
@@ -150,7 +155,6 @@ instance (priority := 100) OrderMonoidHomClass.toOrderHomClass [OrderMonoidHomCl
   { ‹OrderMonoidHomClass F α β› with map_rel := OrderMonoidHomClass.monotone }
 #align order_monoid_hom_class.to_order_hom_class OrderMonoidHomClass.toOrderHomClass
 #align order_add_monoid_hom_class.to_order_hom_class OrderAddMonoidHomClass.toOrderHomClass
--/
 
 @[to_additive]
 instance [OrderMonoidHomClass F α β] : CoeTC F (α →*o β) :=
@@ -227,7 +231,7 @@ include β
 
 /- warning: map_nonneg -> map_nonneg is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommMonoid.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))))))) a) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (RelHomClass.toFunLike.{u1, u2, u3} F α β (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)))) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)))) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommMonoid.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))))))) a) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (RelHomClass.toFunLike.{u1, u2, u3} F α β (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)))) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)))) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommMonoid.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) {a : α}, (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{u1, u3, u2} F α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (_x : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) _x x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a))
 Case conversion may be inaccurate. Consider using '#align map_nonneg map_nonnegₓ'. -/
@@ -239,7 +243,7 @@ theorem map_nonneg (ha : 0 ≤ a) : 0 ≤ f a :=
 
 /- warning: map_nonpos -> map_nonpos is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommMonoid.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) {a : α}, (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1)))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (RelHomClass.toFunLike.{u1, u2, u3} F α β (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)))) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)))) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommMonoid.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) {a : α}, (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1)))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (RelHomClass.toFunLike.{u1, u2, u3} F α β (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)))) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)))) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u2, u3} F α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α (OrderedAddCommMonoid.toAddCommMonoid.{u2} α _inst_1))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommMonoid.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : OrderAddMonoidHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) {a : α}, (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (AddMonoid.toZero.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1)))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{u1, u3, u2} F α β (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1896 : α) (x._@.Mathlib.Order.Hom.Basic._hyg.1898 : α) => LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1))) x._@.Mathlib.Order.Hom.Basic._hyg.1896 x._@.Mathlib.Order.Hom.Basic._hyg.1898) (fun (_x : β) (x._@.Mathlib.Order.Hom.Basic._hyg.1920 : β) => LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) _x x._@.Mathlib.Order.Hom.Basic._hyg.1920) (OrderAddMonoidHomClass.toOrderHomClass.{u1, u3, u2} F α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (AddMonoid.toAddZeroClass.{u3} α (AddCommMonoid.toAddMonoid.{u3} α (OrderedAddCommMonoid.toAddCommMonoid.{u3} α _inst_1))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align map_nonpos map_nonposₓ'. -/
@@ -257,7 +261,7 @@ variable [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [AddMonoidHomClass F
 
 /- warning: monotone_iff_map_nonneg -> monotone_iff_map_nonneg is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Monotone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Monotone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Monotone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align monotone_iff_map_nonneg monotone_iff_map_nonnegₓ'. -/
@@ -271,7 +275,7 @@ theorem monotone_iff_map_nonneg : Monotone (f : α → β) ↔ ∀ a, 0 ≤ a 
 
 /- warning: antitone_iff_map_nonpos -> antitone_iff_map_nonpos is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Antitone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Antitone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Antitone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align antitone_iff_map_nonpos antitone_iff_map_nonposₓ'. -/
@@ -281,7 +285,7 @@ theorem antitone_iff_map_nonpos : Antitone (f : α → β) ↔ ∀ a, 0 ≤ a 
 
 /- warning: monotone_iff_map_nonpos -> monotone_iff_map_nonpos is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Monotone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Monotone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Monotone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align monotone_iff_map_nonpos monotone_iff_map_nonposₓ'. -/
@@ -291,7 +295,7 @@ theorem monotone_iff_map_nonpos : Monotone (f : α → β) ↔ ∀ a ≤ 0, f a
 
 /- warning: antitone_iff_map_nonneg -> antitone_iff_map_nonneg is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Antitone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Antitone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Antitone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align antitone_iff_map_nonneg antitone_iff_map_nonnegₓ'. -/
@@ -303,7 +307,7 @@ variable [CovariantClass β β (· + ·) (· < ·)]
 
 /- warning: strict_mono_iff_map_pos -> strictMono_iff_map_pos is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictMono.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictMono.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3040 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3042 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3040 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3042) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3055 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3057 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3055 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3057)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align strict_mono_iff_map_pos strictMono_iff_map_posₓ'. -/
@@ -317,7 +321,7 @@ theorem strictMono_iff_map_pos : StrictMono (f : α → β) ↔ ∀ a, 0 < a →
 
 /- warning: strict_anti_iff_map_neg -> strictAnti_iff_map_neg is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictAnti.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictAnti.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3217 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3219 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3217 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3219) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3232 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3234 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3232 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3234)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align strict_anti_iff_map_neg strictAnti_iff_map_negₓ'. -/
@@ -327,7 +331,7 @@ theorem strictAnti_iff_map_neg : StrictAnti (f : α → β) ↔ ∀ a, 0 < a →
 
 /- warning: strict_mono_iff_map_neg -> strictMono_iff_map_neg is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictMono.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictMono.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3302 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3304 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3302 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3304) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3317 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3319 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3317 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3319)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align strict_mono_iff_map_neg strictMono_iff_map_negₓ'. -/
@@ -337,7 +341,7 @@ theorem strictMono_iff_map_neg : StrictMono (f : α → β) ↔ ∀ a < 0, f a <
 
 /- warning: strict_anti_iff_map_pos -> strictAnti_iff_map_pos is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictAnti.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictAnti.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toHasLt.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3393 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3395 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3393 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3395) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3408 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3410 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3408 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3410)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align strict_anti_iff_map_pos strictAnti_iff_map_posₓ'. -/
Diff
@@ -259,7 +259,7 @@ variable [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [AddMonoidHomClass F
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Monotone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Monotone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Monotone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align monotone_iff_map_nonneg monotone_iff_map_nonnegₓ'. -/
 theorem monotone_iff_map_nonneg : Monotone (f : α → β) ↔ ∀ a, 0 ≤ a → 0 ≤ f a :=
   ⟨fun h a => by
@@ -273,7 +273,7 @@ theorem monotone_iff_map_nonneg : Monotone (f : α → β) ↔ ∀ a, 0 ≤ a 
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Antitone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Antitone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2)))))))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Antitone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align antitone_iff_map_nonpos antitone_iff_map_nonposₓ'. -/
 theorem antitone_iff_map_nonpos : Antitone (f : α → β) ↔ ∀ a, 0 ≤ a → f a ≤ 0 :=
   monotone_toDual_comp_iff.symm.trans <| monotone_iff_map_nonneg _
@@ -283,7 +283,7 @@ theorem antitone_iff_map_nonpos : Antitone (f : α → β) ↔ ∀ a, 0 ≤ a 
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Monotone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Monotone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2)))))))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Monotone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align monotone_iff_map_nonpos monotone_iff_map_nonposₓ'. -/
 theorem monotone_iff_map_nonpos : Monotone (f : α → β) ↔ ∀ a ≤ 0, f a ≤ 0 :=
   antitone_comp_ofDual_iff.symm.trans <| antitone_iff_map_nonpos _
@@ -293,7 +293,7 @@ theorem monotone_iff_map_nonpos : Monotone (f : α → β) ↔ ∀ a ≤ 0, f a
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F), Iff (Antitone.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LE.le.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Antitone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F), Iff (Antitone.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LE.le.{u3} α (Preorder.toLE.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align antitone_iff_map_nonneg antitone_iff_map_nonnegₓ'. -/
 theorem antitone_iff_map_nonneg : Antitone (f : α → β) ↔ ∀ a ≤ 0, 0 ≤ f a :=
   monotone_comp_ofDual_iff.symm.trans <| monotone_iff_map_nonneg _
@@ -305,7 +305,7 @@ variable [CovariantClass β β (· + ·) (· < ·)]
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictMono.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3027 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3029 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3027 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3029) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3042 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3044 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3042 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3044)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3040 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3042 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3040 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3042) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3055 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3057 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3055 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3057)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align strict_mono_iff_map_pos strictMono_iff_map_posₓ'. -/
 theorem strictMono_iff_map_pos : StrictMono (f : α → β) ↔ ∀ a, 0 < a → 0 < f a :=
   ⟨fun h a => by
@@ -319,7 +319,7 @@ theorem strictMono_iff_map_pos : StrictMono (f : α → β) ↔ ∀ a, 0 < a →
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictAnti.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))))))) a) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3202 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3204 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3202 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3204) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3217 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3219 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3217 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3219)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2)))))))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3217 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3219 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3217 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3219) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3232 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3234 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3232 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3234)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))))) a) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align strict_anti_iff_map_neg strictAnti_iff_map_negₓ'. -/
 theorem strictAnti_iff_map_neg : StrictAnti (f : α → β) ↔ ∀ a, 0 < a → f a < 0 :=
   strictMono_toDual_comp_iff.symm.trans <| strictMono_iff_map_pos _
@@ -329,7 +329,7 @@ theorem strictAnti_iff_map_neg : StrictAnti (f : α → β) ↔ ∀ a, 0 < a →
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictMono.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))))))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3285 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3287 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3285 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3287) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3300 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3302 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3300 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3302)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2)))))))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3302 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3304 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3302 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3304) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3317 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3319 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3317 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3319)], Iff (StrictMono.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align strict_mono_iff_map_neg strictMono_iff_map_negₓ'. -/
 theorem strictMono_iff_map_neg : StrictMono (f : α → β) ↔ ∀ a < 0, f a < 0 :=
   strictAnti_comp_ofDual_iff.symm.trans <| strictAnti_iff_map_neg _
@@ -339,7 +339,7 @@ theorem strictMono_iff_map_neg : StrictMono (f : α → β) ↔ ∀ a < 0, f a <
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedAddCommGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddMonoidHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u3, u3} β β (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))))) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))))], Iff (StrictAnti.{u2, u3} α β (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1)) (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f)) (forall (a : α), (LT.lt.{u2} α (Preorder.toLT.{u2} α (PartialOrder.toPreorder.{u2} α (OrderedAddCommGroup.toPartialOrder.{u2} α _inst_1))) a (OfNat.ofNat.{u2} α 0 (OfNat.mk.{u2} α 0 (Zero.zero.{u2} α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (OfNat.ofNat.{u3} β 0 (OfNat.mk.{u3} β 0 (Zero.zero.{u3} β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))))))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (AddHomClass.toFunLike.{u1, u2, u3} F α β (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1)))))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u2, u3} F α β (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α (AddCommGroup.toAddGroup.{u2} α (OrderedAddCommGroup.toAddCommGroup.{u2} α _inst_1))))) (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) _inst_3))) f a)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3374 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3376 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3374 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3376) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3389 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3391 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3389 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3391)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : OrderedAddCommGroup.{u3} α] [_inst_2 : OrderedAddCommMonoid.{u2} β] [_inst_3 : AddMonoidHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))] (f : F) [_inst_4 : CovariantClass.{u2, u2} β β (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3393 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3395 : β) => HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3393 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3395) (fun (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3408 : β) (x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3410 : β) => LT.lt.{u2} β (Preorder.toLT.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2))) x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3408 x._@.Mathlib.Algebra.Order.Hom.Monoid._hyg.3410)], Iff (StrictAnti.{u3, u2} α β (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1)) (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β _inst_2)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f)) (forall (a : α), (LT.lt.{u3} α (Preorder.toLT.{u3} α (PartialOrder.toPreorder.{u3} α (OrderedAddCommGroup.toPartialOrder.{u3} α _inst_1))) a (OfNat.ofNat.{u3} α 0 (Zero.toOfNat0.{u3} α (NegZeroClass.toZero.{u3} α (SubNegZeroMonoid.toNegZeroClass.{u3} α (SubtractionMonoid.toSubNegZeroMonoid.{u3} α (SubtractionCommMonoid.toSubtractionMonoid.{u3} α (AddCommGroup.toDivisionAddCommMonoid.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) (OrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) a) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : α) => β) _x) (AddHomClass.toFunLike.{u1, u3, u2} F α β (AddZeroClass.toAdd.{u3} α (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1)))))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2)))) (AddMonoidHomClass.toAddHomClass.{u1, u3, u2} F α β (AddMonoid.toAddZeroClass.{u3} α (SubNegMonoid.toAddMonoid.{u3} α (AddGroup.toSubNegMonoid.{u3} α (AddCommGroup.toAddGroup.{u3} α (OrderedAddCommGroup.toAddCommGroup.{u3} α _inst_1))))) (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β _inst_2))) _inst_3)) f a)))
 Case conversion may be inaccurate. Consider using '#align strict_anti_iff_map_pos strictAnti_iff_map_posₓ'. -/
 theorem strictAnti_iff_map_pos : StrictAnti (f : α → β) ↔ ∀ a < 0, 0 < f a :=
   strictMono_comp_ofDual_iff.symm.trans <| strictMono_iff_map_pos _
@@ -402,7 +402,7 @@ theorem toFun_eq_coe (f : α →*o β) : f.toFun = (f : α → β) :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : MonoidHom.{u1, u2} α β _inst_5 _inst_6) (h : Monotone.{u1, u2} α β _inst_1 _inst_2 (MonoidHom.toFun.{u1, u2} α β _inst_5 _inst_6 f)), Eq.{max (succ u1) (succ u2)} ((fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : MonoidHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α _inst_5) (MulOneClass.toOne.{u1} β _inst_6) (MonoidHom.toOneHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OrderMonoidHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : MonoidHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α _inst_5) (MulOneClass.toOne.{u1} β _inst_6) (MonoidHom.toOneHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OrderMonoidHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_mk OrderMonoidHom.coe_mkₓ'. -/
 @[simp, to_additive]
 theorem coe_mk (f : α →* β) (h) : (OrderMonoidHom.mk f h : α → β) = f :=
@@ -437,7 +437,7 @@ def toOrderHom (f : α →*o β) : α →o β :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} ((fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} α β (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} α β (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_monoid_hom OrderMonoidHom.coe_monoidHomₓ'. -/
 @[simp, to_additive]
 theorem coe_monoidHom (f : α →*o β) : ((f : α →* β) : α → β) = f :=
@@ -901,7 +901,7 @@ theorem toFun_eq_coe (f : α →*₀o β) : f.toFun = (f : α → β) :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (h : Monotone.{u1, u2} α β _inst_1 _inst_2 (MonoidWithZeroHom.toFun.{u1, u2} α β _inst_5 _inst_6 f)), Eq.{max (succ u1) (succ u2)} ((fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidWithZeroHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (ZeroHom.toFun.{u2, u1} α β (MulZeroOneClass.toZero.{u2} α _inst_5) (MulZeroOneClass.toZero.{u1} β _inst_6) (MonoidWithZeroHom.toZeroHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderMonoidWithZeroHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (ZeroHom.toFun.{u2, u1} α β (MulZeroOneClass.toZero.{u2} α _inst_5) (MulZeroOneClass.toZero.{u1} β _inst_6) (MonoidWithZeroHom.toZeroHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderMonoidWithZeroHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_mk OrderMonoidWithZeroHom.coe_mkₓ'. -/
 @[simp]
 theorem coe_mk (f : α →*₀ β) (h) : (OrderMonoidWithZeroHom.mk f h : α → β) = f :=
@@ -932,7 +932,7 @@ def toOrderMonoidHom (f : α →*₀o β) : α →*o β :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (MonoidWithZeroHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), 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} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u2, u1, max u2 u1} α β (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), 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} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u2, u1, max u2 u1} α β (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_monoidWithZeroHomₓ'. -/
 @[simp]
 theorem coe_monoidWithZeroHom (f : α →*₀o β) : ⇑(f : α →*₀ β) = f :=
Diff
@@ -402,7 +402,7 @@ theorem toFun_eq_coe (f : α →*o β) : f.toFun = (f : α → β) :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : MonoidHom.{u1, u2} α β _inst_5 _inst_6) (h : Monotone.{u1, u2} α β _inst_1 _inst_2 (MonoidHom.toFun.{u1, u2} α β _inst_5 _inst_6 f)), Eq.{max (succ u1) (succ u2)} ((fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : MonoidHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α _inst_5) (MulOneClass.toOne.{u1} β _inst_6) (MonoidHom.toOneHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OrderMonoidHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : MonoidHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (OneHom.toFun.{u2, u1} α β (MulOneClass.toOne.{u2} α _inst_5) (MulOneClass.toOne.{u1} β _inst_6) (MonoidHom.toOneHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) (OrderMonoidHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_mk OrderMonoidHom.coe_mkₓ'. -/
 @[simp, to_additive]
 theorem coe_mk (f : α →* β) (h) : (OrderMonoidHom.mk f h : α → β) = f :=
@@ -437,7 +437,7 @@ def toOrderHom (f : α →*o β) : α →o β :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulOneClass.{u1} α] [_inst_6 : MulOneClass.{u2} β] (f : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} ((fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidHom.{u1, u2} α β _inst_5 _inst_6) (MonoidHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u1 u2, u1, u2} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.orderMonoidHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} α β (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulOneClass.{u2} α] [_inst_6 : MulOneClass.{u1} β] (f : OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α _inst_5) (MulOneClass.toMul.{u1} β _inst_6) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidHom.monoidHomClass.{u2, u1} α β _inst_5 _inst_6))) (MonoidHomClass.toMonoidHom.{u2, u1, max u2 u1} α β (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidHom.instOrderMonoidHomClassOrderMonoidHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_hom.coe_monoid_hom OrderMonoidHom.coe_monoidHomₓ'. -/
 @[simp, to_additive]
 theorem coe_monoidHom (f : α →*o β) : ((f : α →* β) : α → β) = f :=
@@ -901,7 +901,7 @@ theorem toFun_eq_coe (f : α →*₀o β) : f.toFun = (f : α → β) :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (h : Monotone.{u1, u2} α β _inst_1 _inst_2 (MonoidWithZeroHom.toFun.{u1, u2} α β _inst_5 _inst_6 f)), Eq.{max (succ u1) (succ u2)} ((fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (OrderMonoidWithZeroHom.mk.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (ZeroHom.toFun.{u2, u1} α β (MulZeroOneClass.toZero.{u2} α _inst_5) (MulZeroOneClass.toZero.{u1} β _inst_6) (MonoidWithZeroHom.toZeroHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderMonoidWithZeroHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) (h : Monotone.{u2, u1} α β _inst_1 _inst_2 (ZeroHom.toFun.{u2, u1} α β (MulZeroOneClass.toZero.{u2} α _inst_5) (MulZeroOneClass.toZero.{u1} β _inst_6) (MonoidWithZeroHom.toZeroHom.{u2, u1} α β _inst_5 _inst_6 f))), Eq.{max (succ u2) (succ u1)} (forall (a : α), (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) (OrderMonoidWithZeroHom.mk.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6 f h)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_mk OrderMonoidWithZeroHom.coe_mkₓ'. -/
 @[simp]
 theorem coe_mk (f : α →*₀ β) (h) : (OrderMonoidWithZeroHom.mk f h : α → β) = f :=
@@ -932,7 +932,7 @@ def toOrderMonoidHom (f : α →*₀o β) : α →*o β :=
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} [_inst_1 : Preorder.{u1} α] [_inst_2 : Preorder.{u2} β] [_inst_5 : MulZeroOneClass.{u1} α] [_inst_6 : MulZeroOneClass.{u2} β] (f : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6), Eq.{max (succ u1) (succ u2)} (α -> β) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (fun (_x : MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) => α -> β) (MonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_5 _inst_6) ((fun (a : Sort.{max (succ u1) (succ u2)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u1) (succ u2), max (succ u2) (succ u1)} a b] => self.0) (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (HasLiftT.mk.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (CoeTCₓ.coe.{max (succ u1) (succ u2), max (succ u2) (succ u1)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (MonoidWithZeroHom.{u1, u2} α β _inst_5 _inst_6) (MonoidWithZeroHom.hasCoeT.{u1, u2, max u1 u2} α β (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u1 u2, u1, u2} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.orderMonoidWithZeroHomClass.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6))))) f)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) (fun (_x : OrderMonoidWithZeroHom.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) => α -> β) (OrderMonoidWithZeroHom.hasCoeToFun.{u1, u2} α β _inst_1 _inst_2 _inst_5 _inst_6) f)
 but is expected to have type
-  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), 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} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u2, u1, max u2 u1} α β (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
+  forall {α : Type.{u2}} {β : Type.{u1}} [_inst_1 : Preorder.{u2} α] [_inst_2 : Preorder.{u1} β] [_inst_5 : MulZeroOneClass.{u2} α] [_inst_6 : MulZeroOneClass.{u1} β] (f : OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6), 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} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : α) => β) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulOneClass.toMul.{u2} α (MulZeroOneClass.toMulOneClass.{u2} α _inst_5)) (MulOneClass.toMul.{u1} β (MulZeroOneClass.toMulOneClass.{u1} β _inst_6)) (MonoidHomClass.toMulHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (MonoidWithZeroHomClass.toMonoidHomClass.{max u2 u1, u2, u1} (MonoidWithZeroHom.{u2, u1} α β _inst_5 _inst_6) α β _inst_5 _inst_6 (MonoidWithZeroHom.monoidWithZeroHomClass.{u2, u1} α β _inst_5 _inst_6)))) (MonoidWithZeroHomClass.toMonoidWithZeroHom.{u2, u1, max u2 u1} α β (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) _inst_5 _inst_6 (OrderMonoidWithZeroHomClass.toMonoidWithZeroHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)) f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α (fun (_x : α) => (fun (x._@.Mathlib.Order.RelIso.Basic._hyg.867 : α) => β) _x) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _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.{u2} α (Preorder.toLE.{u2} α _inst_1) 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) (OrderMonoidHomClass.toOrderHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 (MulZeroOneClass.toMulOneClass.{u2} α _inst_5) (MulZeroOneClass.toMulOneClass.{u1} β _inst_6) (OrderMonoidWithZeroHomClass.toOrderMonoidHomClass.{max u2 u1, u2, u1} (OrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6) α β _inst_1 _inst_2 _inst_5 _inst_6 (OrderMonoidWithZeroHom.instOrderMonoidWithZeroHomClassOrderMonoidWithZeroHom.{u2, u1} α β _inst_1 _inst_2 _inst_5 _inst_6)))) f)
 Case conversion may be inaccurate. Consider using '#align order_monoid_with_zero_hom.coe_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_monoidWithZeroHomₓ'. -/
 @[simp]
 theorem coe_monoidWithZeroHom (f : α →*₀o β) : ⇑(f : α →*₀ β) = f :=

Changes in mathlib4

mathlib3
mathlib4
chore: Move WithZero material depending on GroupWithZero (#12351)

Everything under Algebra.Group should be additivisable. Therefore I move the GroupWithZero instances for WithZero from Algebra.Group.WithOne.Defs and the whole of Algebra.Group.WithOne.Units to a new file Algebra.GroupWithZero.WithZero. I credit Mario for https://github.com/leanprover-community/mathlib/commit/ad92a9ba47f417916aab365d13db653fa8991a84 and Johan for https://github.com/leanprover-community/mathlib/pull/762.

Use the opportunity to slightly clean up the code:

  • Replace := by where in instance declarations
  • Add missing explicit arguments to coe lemmas
  • Add missing section ... end
Diff
@@ -5,7 +5,7 @@ Authors: Yaël Dillies
 -/
 import Mathlib.Algebra.GroupWithZero.Hom
 import Mathlib.Algebra.Order.Group.Instances
-import Mathlib.Algebra.Order.Monoid.WithZero
+import Mathlib.Algebra.Order.GroupWithZero.Canonical
 import Mathlib.Order.Hom.Basic
 
 #align_import algebra.order.hom.monoid from "leanprover-community/mathlib"@"3342d1b2178381196f818146ff79bc0e7ccd9e2d"
chore: Reduce scope of LinearOrderedCommGroupWithZero (#11716)

Reconstitute the file Algebra.Order.Monoid.WithZero from three files:

  • Algebra.Order.Monoid.WithZero.Defs
  • Algebra.Order.Monoid.WithZero.Basic
  • Algebra.Order.WithZero

Avoid importing it in many files. Most uses were just to get le_zero_iff to work on Nat.

Before pre_11716

After post_11716

Diff
@@ -5,7 +5,7 @@ Authors: Yaël Dillies
 -/
 import Mathlib.Algebra.GroupWithZero.Hom
 import Mathlib.Algebra.Order.Group.Instances
-import Mathlib.Algebra.Order.Monoid.WithZero.Defs
+import Mathlib.Algebra.Order.Monoid.WithZero
 import Mathlib.Order.Hom.Basic
 
 #align_import algebra.order.hom.monoid from "leanprover-community/mathlib"@"3342d1b2178381196f818146ff79bc0e7ccd9e2d"
chore(Algebra/Group): Do not import GroupWithZero (#11202)

I am claiming that anything within the Algebra.Group folder should be additivisable, to the exception of MonoidHom.End maybe. This is not the case of NeZero, MonoidWithZero and MonoidWithZeroHom which were all imported to prove a few lemmas. Those lemmas are easily moved to another file.

Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
 -/
-import Mathlib.Algebra.Group.Hom.Basic
+import Mathlib.Algebra.GroupWithZero.Hom
 import Mathlib.Algebra.Order.Group.Instances
 import Mathlib.Algebra.Order.Monoid.WithZero.Defs
 import Mathlib.Order.Hom.Basic
move: Algebraic pi instances (#10693)

Rename

  • Data.Pi.Algebra to Algebra.Group.Pi.Basic
  • Algebra.Group.Pi to Algebra.Group.Pi.Lemmas

Move a few instances from the latter to the former, the goal being that Algebra.Group.Pi.Basic is about all the pi instances of the classes defined in Algebra.Group.Defs. Algebra.Group.Pi.Lemmas will need further rearranging.

Diff
@@ -6,7 +6,6 @@ Authors: Yaël Dillies
 import Mathlib.Algebra.Group.Hom.Basic
 import Mathlib.Algebra.Order.Group.Instances
 import Mathlib.Algebra.Order.Monoid.WithZero.Defs
-import Mathlib.Data.Pi.Algebra
 import Mathlib.Order.Hom.Basic
 
 #align_import algebra.order.hom.monoid from "leanprover-community/mathlib"@"3342d1b2178381196f818146ff79bc0e7ccd9e2d"
refactor: drop some *HomClasses (#10544)

Drop classes that mix OrderHomClass with algebraic hom classes.

Diff
@@ -22,12 +22,6 @@ This file defines morphisms between (additive) ordered monoids.
 * `OrderMonoidHom`: Ordered monoid homomorphisms.
 * `OrderMonoidWithZeroHom`: Ordered monoid with zero homomorphisms.
 
-## Typeclasses
-
-* `OrderAddMonoidHomClass`
-* `OrderMonoidHomClass`
-* `OrderMonoidWithZeroHomClass`
-
 ## Notation
 
 * `→+o`: Bundled ordered additive monoid homs. Also use for additive groups homs.
@@ -48,6 +42,15 @@ Implicit `{}` brackets are often used instead of type class `[]` brackets. This
 instances can be inferred because they are implicit arguments to the type `OrderMonoidHom`. When
 they can be inferred from the type it is faster to use this method than to use type class inference.
 
+### Removed typeclasses
+
+This file used to define typeclasses for order-preserving (additive) monoid homomorphisms:
+`OrderAddMonoidHomClass`, `OrderMonoidHomClass`, and `OrderMonoidWithZeroHomClass`.
+
+In #10544 we migrated from these typeclasses
+to assumptions like `[FunLike F M N] [MonoidHomClass F M N] [OrderHomClass F M N ]`,
+making some definitions and lemmas irrelevant.
+
 ## Tags
 
 ordered monoid, ordered group, monoid with zero
@@ -78,19 +81,6 @@ structure OrderAddMonoidHom (α β : Type*) [Preorder α] [Preorder β] [AddZero
 /-- Infix notation for `OrderAddMonoidHom`. -/
 infixr:25 " →+o " => OrderAddMonoidHom
 
-section
-
-/-- `OrderAddMonoidHomClass F α β` states that `F` is a type of ordered monoid homomorphisms.
-
-You should also extend this typeclass when you extend `OrderAddMonoidHom`. -/
-class OrderAddMonoidHomClass (F α β : Type*) [Preorder α] [Preorder β]
-  [AddZeroClass α] [AddZeroClass β] [FunLike F α β] extends AddMonoidHomClass F α β : Prop where
-  /-- An `OrderAddMonoidHom` is a monotone function. -/
-  monotone (f : F) : Monotone f
-#align order_add_monoid_hom_class OrderAddMonoidHomClass
-
-end
-
 -- Instances and lemmas are defined below through `@[to_additive]`.
 end AddMonoid
 
@@ -114,43 +104,22 @@ structure OrderMonoidHom (α β : Type*) [Preorder α] [Preorder β] [MulOneClas
 /-- Infix notation for `OrderMonoidHom`. -/
 infixr:25 " →*o " => OrderMonoidHom
 
-section
-
-/-- `OrderMonoidHomClass F α β` states that `F` is a type of ordered monoid homomorphisms.
-
-You should also extend this typeclass when you extend `OrderMonoidHom`. -/
-@[to_additive]
-class OrderMonoidHomClass (F α β : Type*) [Preorder α] [Preorder β] [MulOneClass α] [MulOneClass β]
-  [FunLike F α β] extends MonoidHomClass F α β : Prop where
-  /-- An `OrderMonoidHom` is a monotone function. -/
-  monotone (f : F) : Monotone f
-#align order_monoid_hom_class OrderMonoidHomClass
-
-end
-
 variable [Preorder α] [Preorder β] [MulOneClass α] [MulOneClass β] [FunLike F α β]
 
-/-- Turn an element of a type `F` satisfying `OrderMonoidHomClass F α β` into an actual
-`OrderMonoidHom`. This is declared as the default coercion from `F` to `α →*o β`. -/
+/-- Turn an element of a type `F` satisfying `OrderHomClass F α β` and `MonoidHomClass F α β`
+into an actual `OrderMonoidHom`. This is declared as the default coercion from `F` to `α →*o β`. -/
 @[to_additive (attr := coe)
   "Turn an element of a type `F` satisfying `OrderAddMonoidHomClass F α β` into an actual
   `OrderAddMonoidHom`. This is declared as the default coercion from `F` to `α →+o β`."]
-def OrderMonoidHomClass.toOrderMonoidHom [OrderMonoidHomClass F α β] (f : F) : α →*o β :=
-  { (f : α →* β) with monotone' := monotone f }
-
--- See note [lower instance priority]
-@[to_additive]
-instance (priority := 100) OrderMonoidHomClass.toOrderHomClass [OrderMonoidHomClass F α β] :
-    OrderHomClass F α β :=
-  { ‹OrderMonoidHomClass F α β› with map_rel := OrderMonoidHomClass.monotone }
-#align order_monoid_hom_class.to_order_hom_class OrderMonoidHomClass.toOrderHomClass
-#align order_add_monoid_hom_class.to_order_hom_class OrderAddMonoidHomClass.toOrderHomClass
+def OrderMonoidHomClass.toOrderMonoidHom [OrderHomClass F α β] [MonoidHomClass F α β] (f : F) :
+    α →*o β :=
+  { (f : α →* β) with monotone' := OrderHomClass.monotone f }
 
 /-- Any type satisfying `OrderMonoidHomClass` can be cast into `OrderMonoidHom` via
   `OrderMonoidHomClass.toOrderMonoidHom`. -/
 @[to_additive "Any type satisfying `OrderAddMonoidHomClass` can be cast into `OrderAddMonoidHom` via
   `OrderAddMonoidHomClass.toOrderAddMonoidHom`"]
-instance [OrderMonoidHomClass F α β] : CoeTC F (α →*o β) :=
+instance [OrderHomClass F α β] [MonoidHomClass F α β] : CoeTC F (α →*o β) :=
   ⟨OrderMonoidHomClass.toOrderMonoidHom⟩
 
 end Monoid
@@ -179,47 +148,31 @@ infixr:25 " →*₀o " => OrderMonoidWithZeroHom
 
 section
 
-/-- `OrderMonoidWithZeroHomClass F α β` states that `F` is a type of
-ordered monoid with zero homomorphisms.
-
-You should also extend this typeclass when you extend `OrderMonoidWithZeroHom`. -/
-class OrderMonoidWithZeroHomClass (F α β : Type*) [Preorder α] [Preorder β]
-  [MulZeroOneClass α] [MulZeroOneClass β] [FunLike F α β]
-  extends MonoidWithZeroHomClass F α β : Prop where
-  /-- An `OrderMonoidWithZeroHom` is a monotone function. -/
-  monotone (f : F) : Monotone f
-#align order_monoid_with_zero_hom_class OrderMonoidWithZeroHomClass
-
 variable [FunLike F α β]
 
-/-- Turn an element of a type `F` satisfying `OrderMonoidWithZeroHomClass F α β` into an actual
-`OrderMonoidWithZeroHom`. This is declared as the default coercion from `F` to `α →+*₀o β`. -/
+/-- Turn an element of a type `F`
+satisfying `OrderHomClass F α β` and `MonoidWithZeroHomClass F α β`
+into an actual `OrderMonoidWithZeroHom`.
+This is declared as the default coercion from `F` to `α →+*₀o β`. -/
 @[coe]
-def OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom [OrderMonoidWithZeroHomClass F α β]
-    (f : F) : α →*₀o β :=
-{ (f : α →*₀ β) with monotone' := monotone f }
+def OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom [OrderHomClass F α β]
+    [MonoidWithZeroHomClass F α β] (f : F) : α →*₀o β :=
+{ (f : α →*₀ β) with monotone' := OrderHomClass.monotone f }
 
 end
 
 variable [FunLike F α β]
 
--- See note [lower instance priority]
-instance (priority := 100) OrderMonoidWithZeroHomClass.toOrderMonoidHomClass
-    {_ : Preorder α} {_ : Preorder β} {_ : MulZeroOneClass α} {_ : MulZeroOneClass β}
-    [OrderMonoidWithZeroHomClass F α β] : OrderMonoidHomClass F α β :=
-  { ‹OrderMonoidWithZeroHomClass F α β› with }
-#align order_monoid_with_zero_hom_class.to_order_monoid_hom_class OrderMonoidWithZeroHomClass.toOrderMonoidHomClass
-
-instance [OrderMonoidWithZeroHomClass F α β] : CoeTC F (α →*₀o β) :=
+instance [OrderHomClass F α β] [MonoidWithZeroHomClass F α β] : CoeTC F (α →*₀o β) :=
   ⟨OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom⟩
 
 end MonoidWithZero
 
-section OrderedAddCommMonoid
+section OrderedZero
 
 variable [FunLike F α β]
-variable [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [OrderAddMonoidHomClass F α β] (f : F)
-  {a : α}
+variable [Preorder α] [Zero α] [Preorder β] [Zero β] [OrderHomClass F α β]
+  [ZeroHomClass F α β] (f : F) {a : α}
 
 /-- See also `NonnegHomClass.apply_nonneg`. -/
 theorem map_nonneg (ha : 0 ≤ a) : 0 ≤ f a := by
@@ -232,7 +185,7 @@ theorem map_nonpos (ha : a ≤ 0) : f a ≤ 0 := by
   exact OrderHomClass.mono _ ha
 #align map_nonpos map_nonpos
 
-end OrderedAddCommMonoid
+end OrderedZero
 
 section OrderedAddCommGroup
 
@@ -299,10 +252,13 @@ instance : FunLike (α →*o β) α β where
     congr
 
 @[to_additive]
-instance : OrderMonoidHomClass (α →*o β) α β where
+instance : OrderHomClass (α →*o β) α β where
+  map_rel f _ _ h := f.monotone' h
+
+@[to_additive]
+instance : MonoidHomClass (α →*o β) α β where
   map_mul f := f.map_mul'
   map_one f := f.map_one'
-  monotone f := f.monotone'
 
 -- Other lemmas should be accessed through the `FunLike` API
 @[to_additive (attr := ext)]
@@ -586,11 +542,13 @@ instance : FunLike (α →*₀o β) α β where
     obtain ⟨⟨⟨_, _⟩⟩, _⟩ := g
     congr
 
-instance : OrderMonoidWithZeroHomClass (α →*₀o β) α β where
+instance : MonoidWithZeroHomClass (α →*₀o β) α β where
   map_mul f := f.map_mul'
   map_one f := f.map_one'
   map_zero f := f.map_zero'
-  monotone f := f.monotone'
+
+instance : OrderHomClass (α →*₀o β) α β where
+  map_rel f _ _ h := f.monotone' h
 
 -- Other lemmas should be accessed through the `FunLike` API
 @[ext]
@@ -766,3 +724,11 @@ theorem toOrderMonoidHom_eq_coe (f : α →*₀o β) : f.toOrderMonoidHom = f :=
 end LinearOrderedCommMonoidWithZero
 
 end OrderMonoidWithZeroHom
+
+/- See module docstring for details. -/
+#noalign order_add_monoid_hom_class
+#noalign order_monoid_hom_class
+#noalign order_monoid_hom_class.to_order_hom_class
+#noalign order_add_monoid_hom_class.to_order_hom_class
+#noalign order_monoid_with_zero_hom_class
+#noalign order_monoid_with_zero_hom_class.to_order_monoid_hom_class
chore(NonnegHomClass): rename map_nonneg to apply_nonneg (#10507)

... to avoid conflict with _root_.map_nonneg, see Zulip.

Diff
@@ -221,6 +221,7 @@ variable [FunLike F α β]
 variable [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [OrderAddMonoidHomClass F α β] (f : F)
   {a : α}
 
+/-- See also `NonnegHomClass.apply_nonneg`. -/
 theorem map_nonneg (ha : 0 ≤ a) : 0 ≤ f a := by
   rw [← map_zero f]
   exact OrderHomClass.mono _ ha
refactor(Data/FunLike): use unbundled inheritance from FunLike (#8386)

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.

Zulip thread

Important changes

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].

Remaining issues

Slower (failing) search

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_params, [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 sometimes

This 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.

Missing instances due to unification failing

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 outParams 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.)

Workaround for issues

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>

Diff
@@ -83,8 +83,8 @@ section
 /-- `OrderAddMonoidHomClass F α β` states that `F` is a type of ordered monoid homomorphisms.
 
 You should also extend this typeclass when you extend `OrderAddMonoidHom`. -/
-class OrderAddMonoidHomClass (F : Type*) (α β : outParam <| Type*) [Preorder α] [Preorder β]
-  [AddZeroClass α] [AddZeroClass β] extends AddMonoidHomClass F α β where
+class OrderAddMonoidHomClass (F α β : Type*) [Preorder α] [Preorder β]
+  [AddZeroClass α] [AddZeroClass β] [FunLike F α β] extends AddMonoidHomClass F α β : Prop where
   /-- An `OrderAddMonoidHom` is a monotone function. -/
   monotone (f : F) : Monotone f
 #align order_add_monoid_hom_class OrderAddMonoidHomClass
@@ -120,15 +120,15 @@ section
 
 You should also extend this typeclass when you extend `OrderMonoidHom`. -/
 @[to_additive]
-class OrderMonoidHomClass (F : Type*) (α β : outParam <| Type*) [Preorder α] [Preorder β]
-  [MulOneClass α] [MulOneClass β] extends MonoidHomClass F α β where
+class OrderMonoidHomClass (F α β : Type*) [Preorder α] [Preorder β] [MulOneClass α] [MulOneClass β]
+  [FunLike F α β] extends MonoidHomClass F α β : Prop where
   /-- An `OrderMonoidHom` is a monotone function. -/
   monotone (f : F) : Monotone f
 #align order_monoid_hom_class OrderMonoidHomClass
 
 end
 
-variable {_ : Preorder α} {_ : Preorder β} {_ : MulOneClass α} {_ : MulOneClass β}
+variable [Preorder α] [Preorder β] [MulOneClass α] [MulOneClass β] [FunLike F α β]
 
 /-- Turn an element of a type `F` satisfying `OrderMonoidHomClass F α β` into an actual
 `OrderMonoidHom`. This is declared as the default coercion from `F` to `α →*o β`. -/
@@ -183,12 +183,15 @@ section
 ordered monoid with zero homomorphisms.
 
 You should also extend this typeclass when you extend `OrderMonoidWithZeroHom`. -/
-class OrderMonoidWithZeroHomClass (F : Type*) (α β : outParam <| Type*) [Preorder α] [Preorder β]
-  [MulZeroOneClass α] [MulZeroOneClass β] extends MonoidWithZeroHomClass F α β where
+class OrderMonoidWithZeroHomClass (F α β : Type*) [Preorder α] [Preorder β]
+  [MulZeroOneClass α] [MulZeroOneClass β] [FunLike F α β]
+  extends MonoidWithZeroHomClass F α β : Prop where
   /-- An `OrderMonoidWithZeroHom` is a monotone function. -/
   monotone (f : F) : Monotone f
 #align order_monoid_with_zero_hom_class OrderMonoidWithZeroHomClass
 
+variable [FunLike F α β]
+
 /-- Turn an element of a type `F` satisfying `OrderMonoidWithZeroHomClass F α β` into an actual
 `OrderMonoidWithZeroHom`. This is declared as the default coercion from `F` to `α →+*₀o β`. -/
 @[coe]
@@ -198,6 +201,8 @@ def OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom [OrderMonoidWithZeroHom
 
 end
 
+variable [FunLike F α β]
+
 -- See note [lower instance priority]
 instance (priority := 100) OrderMonoidWithZeroHomClass.toOrderMonoidHomClass
     {_ : Preorder α} {_ : Preorder β} {_ : MulZeroOneClass α} {_ : MulZeroOneClass β}
@@ -212,6 +217,7 @@ end MonoidWithZero
 
 section OrderedAddCommMonoid
 
+variable [FunLike F α β]
 variable [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [OrderAddMonoidHomClass F α β] (f : F)
   {a : α}
 
@@ -229,7 +235,8 @@ end OrderedAddCommMonoid
 
 section OrderedAddCommGroup
 
-variable [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [AddMonoidHomClass F α β] (f : F)
+variable [OrderedAddCommGroup α] [OrderedAddCommMonoid β] [i : FunLike F α β]
+variable [iamhc : AddMonoidHomClass F α β] (f : F)
 
 theorem monotone_iff_map_nonneg : Monotone (f : α → β) ↔ ∀ a, 0 ≤ a → 0 ≤ f a :=
   ⟨fun h a => by
@@ -240,15 +247,15 @@ theorem monotone_iff_map_nonneg : Monotone (f : α → β) ↔ ∀ a, 0 ≤ a 
 #align monotone_iff_map_nonneg monotone_iff_map_nonneg
 
 theorem antitone_iff_map_nonpos : Antitone (f : α → β) ↔ ∀ a, 0 ≤ a → f a ≤ 0 :=
-  monotone_toDual_comp_iff.symm.trans <| monotone_iff_map_nonneg _
+  monotone_toDual_comp_iff.symm.trans <| monotone_iff_map_nonneg (β := βᵒᵈ) (iamhc := iamhc) _
 #align antitone_iff_map_nonpos antitone_iff_map_nonpos
 
 theorem monotone_iff_map_nonpos : Monotone (f : α → β) ↔ ∀ a ≤ 0, f a ≤ 0 :=
-  antitone_comp_ofDual_iff.symm.trans <| antitone_iff_map_nonpos _
+  antitone_comp_ofDual_iff.symm.trans <| antitone_iff_map_nonpos (α := αᵒᵈ) (iamhc := iamhc) _
 #align monotone_iff_map_nonpos monotone_iff_map_nonpos
 
 theorem antitone_iff_map_nonneg : Antitone (f : α → β) ↔ ∀ a ≤ 0, 0 ≤ f a :=
-  monotone_comp_ofDual_iff.symm.trans <| monotone_iff_map_nonneg _
+  monotone_comp_ofDual_iff.symm.trans <| monotone_iff_map_nonneg (α := αᵒᵈ) (iamhc := iamhc) _
 #align antitone_iff_map_nonneg antitone_iff_map_nonneg
 
 variable [CovariantClass β β (· + ·) (· < ·)]
@@ -262,15 +269,15 @@ theorem strictMono_iff_map_pos : StrictMono (f : α → β) ↔ ∀ a, 0 < a →
 #align strict_mono_iff_map_pos strictMono_iff_map_pos
 
 theorem strictAnti_iff_map_neg : StrictAnti (f : α → β) ↔ ∀ a, 0 < a → f a < 0 :=
-  strictMono_toDual_comp_iff.symm.trans <| strictMono_iff_map_pos _
+  strictMono_toDual_comp_iff.symm.trans <| strictMono_iff_map_pos (β := βᵒᵈ) (iamhc := iamhc) _
 #align strict_anti_iff_map_neg strictAnti_iff_map_neg
 
 theorem strictMono_iff_map_neg : StrictMono (f : α → β) ↔ ∀ a < 0, f a < 0 :=
-  strictAnti_comp_ofDual_iff.symm.trans <| strictAnti_iff_map_neg _
+  strictAnti_comp_ofDual_iff.symm.trans <| strictAnti_iff_map_neg (α := αᵒᵈ) (iamhc := iamhc) _
 #align strict_mono_iff_map_neg strictMono_iff_map_neg
 
 theorem strictAnti_iff_map_pos : StrictAnti (f : α → β) ↔ ∀ a < 0, 0 < f a :=
-  strictMono_comp_ofDual_iff.symm.trans <| strictMono_iff_map_pos _
+  strictMono_comp_ofDual_iff.symm.trans <| strictMono_iff_map_pos (α := αᵒᵈ) (iamhc := iamhc) _
 #align strict_anti_iff_map_pos strictAnti_iff_map_pos
 
 end OrderedAddCommGroup
@@ -283,26 +290,20 @@ variable [Preorder α] [Preorder β] [Preorder γ] [Preorder δ] [MulOneClass α
   [MulOneClass γ] [MulOneClass δ] {f g : α →*o β}
 
 @[to_additive]
- instance : OrderMonoidHomClass (α →*o β) α β where
+instance : FunLike (α →*o β) α β where
   coe f := f.toFun
   coe_injective' f g h := by
     obtain ⟨⟨⟨_, _⟩⟩, _⟩ := f
     obtain ⟨⟨⟨_, _⟩⟩, _⟩ := g
     congr
+
+@[to_additive]
+instance : OrderMonoidHomClass (α →*o β) α β where
   map_mul f := f.map_mul'
   map_one f := f.map_one'
   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.instCoeFunForAll`
--- directly. -/
--- @[to_additive "Helper instance for when there's too many metavariables to apply
--- `DFunLike.instCoeFunForAll` directly."]
--- instance : CoeFun (α →*o β) fun _ => α → β :=
---   DFunLike.instCoeFunForAll
-
--- Other lemmas should be accessed through the `DFunLike` API
+-- Other lemmas should be accessed through the `FunLike` API
 @[to_additive (attr := ext)]
 theorem ext (h : ∀ a, f a = g a) : f = g :=
   DFunLike.ext f g h
@@ -577,25 +578,20 @@ section Preorder
 variable [Preorder α] [Preorder β] [Preorder γ] [Preorder δ] [MulZeroOneClass α] [MulZeroOneClass β]
   [MulZeroOneClass γ] [MulZeroOneClass δ] {f g : α →*₀o β}
 
-instance : OrderMonoidWithZeroHomClass (α →*₀o β) α β where
+instance : FunLike (α →*₀o β) α β where
   coe f := f.toFun
   coe_injective' f g h := by
     obtain ⟨⟨⟨_, _⟩⟩, _⟩ := f
     obtain ⟨⟨⟨_, _⟩⟩, _⟩ := g
     congr
+
+instance : OrderMonoidWithZeroHomClass (α →*₀o β) α β where
   map_mul f := f.map_mul'
   map_one f := f.map_one'
   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.instCoeFunForAll`
---directly. -/
---instance : CoeFun (α →*₀o β) fun _ => α → β :=
---  DFunLike.instCoeFunForAll
-
--- Other lemmas should be accessed through the `DFunLike` API
+-- Other lemmas should be accessed through the `FunLike` API
 @[ext]
 theorem ext (h : ∀ a, f a = g a) : f = g :=
   DFunLike.ext f g h
chore(*): rename 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>

Diff
@@ -295,17 +295,17 @@ variable [Preorder α] [Preorder β] [Preorder γ] [Preorder δ] [MulOneClass α
 
 -- Porting note:
 -- These helper instances are unhelpful in Lean 4, so omitting:
--- /-- Helper instance for when there's too many metavariables to apply `FunLike.instCoeFunForAll`
+-- /-- Helper instance for when there's too many metavariables to apply `DFunLike.instCoeFunForAll`
 -- directly. -/
 -- @[to_additive "Helper instance for when there's too many metavariables to apply
--- `FunLike.instCoeFunForAll` directly."]
+-- `DFunLike.instCoeFunForAll` directly."]
 -- instance : CoeFun (α →*o β) fun _ => α → β :=
---   FunLike.instCoeFunForAll
+--   DFunLike.instCoeFunForAll
 
--- Other lemmas should be accessed through the `FunLike` API
+-- Other lemmas should be accessed through the `DFunLike` API
 @[to_additive (attr := ext)]
 theorem ext (h : ∀ a, f a = g a) : f = g :=
-  FunLike.ext f g h
+  DFunLike.ext f g h
 #align order_monoid_hom.ext OrderMonoidHom.ext
 #align order_add_monoid_hom.ext OrderAddMonoidHom.ext
 
@@ -349,13 +349,13 @@ theorem coe_orderHom (f : α →*o β) : ((f : α →o β) : α → β) = f :=
 
 @[to_additive]
 theorem toMonoidHom_injective : Injective (toMonoidHom : _ → α →* β) := fun f g h =>
-  ext <| by convert FunLike.ext_iff.1 h using 0
+  ext <| by convert DFunLike.ext_iff.1 h using 0
 #align order_monoid_hom.to_monoid_hom_injective OrderMonoidHom.toMonoidHom_injective
 #align order_add_monoid_hom.to_add_monoid_hom_injective OrderAddMonoidHom.toAddMonoidHom_injective
 
 @[to_additive]
 theorem toOrderHom_injective : Injective (toOrderHom : _ → α →o β) := fun f g h =>
-  ext <| by convert FunLike.ext_iff.1 h using 0
+  ext <| by convert DFunLike.ext_iff.1 h using 0
 #align order_monoid_hom.to_order_hom_injective OrderMonoidHom.toOrderHom_injective
 #align order_add_monoid_hom.to_order_hom_injective OrderAddMonoidHom.toOrderHom_injective
 
@@ -376,7 +376,7 @@ theorem coe_copy (f : α →*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f'
 
 @[to_additive]
 theorem copy_eq (f : α →*o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
-  FunLike.ext' h
+  DFunLike.ext' h
 #align order_monoid_hom.copy_eq OrderMonoidHom.copy_eq
 #align order_add_monoid_hom.copy_eq OrderAddMonoidHom.copy_eq
 
@@ -456,7 +456,7 @@ theorem id_comp (f : α →*o β) : (OrderMonoidHom.id β).comp f = f :=
 @[to_additive (attr := simp)]
 theorem cancel_right {g₁ g₂ : β →*o γ} {f : α →*o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
-  ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, fun _ => by congr⟩
+  ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, fun _ => by congr⟩
 #align order_monoid_hom.cancel_right OrderMonoidHom.cancel_right
 #align order_add_monoid_hom.cancel_right OrderAddMonoidHom.cancel_right
 
@@ -590,15 +590,15 @@ instance : OrderMonoidWithZeroHomClass (α →*₀o β) α β where
 
 -- Porting note:
 -- These helper instances are unhelpful in Lean 4, so omitting:
---/-- Helper instance for when there's too many metavariables to apply `FunLike.instCoeFunForAll`
+--/-- Helper instance for when there's too many metavariables to apply `DFunLike.instCoeFunForAll`
 --directly. -/
 --instance : CoeFun (α →*₀o β) fun _ => α → β :=
---  FunLike.instCoeFunForAll
+--  DFunLike.instCoeFunForAll
 
--- Other lemmas should be accessed through the `FunLike` API
+-- Other lemmas should be accessed through the `DFunLike` API
 @[ext]
 theorem ext (h : ∀ a, f a = g a) : f = g :=
-  FunLike.ext f g h
+  DFunLike.ext f g h
 #align order_monoid_with_zero_hom.ext OrderMonoidWithZeroHom.ext
 
 theorem toFun_eq_coe (f : α →*₀o β) : f.toFun = (f : α → β) :=
@@ -630,11 +630,11 @@ theorem coe_orderMonoidHom (f : α →*₀o β) : ⇑(f : α →*o β) = f :=
 #align order_monoid_with_zero_hom.coe_order_monoid_hom OrderMonoidWithZeroHom.coe_orderMonoidHom
 
 theorem toOrderMonoidHom_injective : Injective (toOrderMonoidHom : _ → α →*o β) := fun f g h =>
-  ext <| by convert FunLike.ext_iff.1 h using 0
+  ext <| by convert DFunLike.ext_iff.1 h using 0
 #align order_monoid_with_zero_hom.to_order_monoid_hom_injective OrderMonoidWithZeroHom.toOrderMonoidHom_injective
 
 theorem toMonoidWithZeroHom_injective : Injective (toMonoidWithZeroHom : _ → α →*₀ β) :=
-  fun f g h => ext <| by convert FunLike.ext_iff.1 h using 0
+  fun f g h => ext <| by convert DFunLike.ext_iff.1 h using 0
 #align order_monoid_with_zero_hom.to_monoid_with_zero_hom_injective OrderMonoidWithZeroHom.toMonoidWithZeroHom_injective
 
 /-- Copy of an `OrderMonoidWithZeroHom` with a new `toFun` equal to the old one. Useful to fix
@@ -649,7 +649,7 @@ theorem coe_copy (f : α →*₀o β) (f' : α → β) (h : f' = f) : ⇑(f.copy
 #align order_monoid_with_zero_hom.coe_copy OrderMonoidWithZeroHom.coe_copy
 
 theorem copy_eq (f : α →*₀o β) (f' : α → β) (h : f' = f) : f.copy f' h = f :=
-  FunLike.ext' h
+  DFunLike.ext' h
 #align order_monoid_with_zero_hom.copy_eq OrderMonoidWithZeroHom.copy_eq
 
 variable (α)
@@ -711,7 +711,7 @@ theorem id_comp (f : α →*₀o β) : (OrderMonoidWithZeroHom.id β).comp f = f
 @[simp]
 theorem cancel_right {g₁ g₂ : β →*₀o γ} {f : α →*₀o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
-  ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, fun _ => by congr⟩
+  ⟨fun h => ext <| hf.forall.2 <| DFunLike.ext_iff.1 h, fun _ => by congr⟩
 #align order_monoid_with_zero_hom.cancel_right OrderMonoidWithZeroHom.cancel_right
 
 @[simp]
refactor(Algebra/Hom): transpose Hom and file name (#8095)

I believe the file defining a type of morphisms belongs alongside the file defining the structure this morphism works on. So I would like to reorganize the files in the Mathlib.Algebra.Hom folder so that e.g. Mathlib.Algebra.Hom.Ring becomes Mathlib.Algebra.Ring.Hom and Mathlib.Algebra.Hom.NonUnitalAlg becomes Mathlib.Algebra.Algebra.NonUnitalHom.

While fixing the imports I went ahead and sorted them for good luck.

The full list of changes is: renamed: Mathlib/Algebra/Hom/NonUnitalAlg.lean -> Mathlib/Algebra/Algebra/NonUnitalHom.lean renamed: Mathlib/Algebra/Hom/Aut.lean -> Mathlib/Algebra/Group/Aut.lean renamed: Mathlib/Algebra/Hom/Commute.lean -> Mathlib/Algebra/Group/Commute/Hom.lean renamed: Mathlib/Algebra/Hom/Embedding.lean -> Mathlib/Algebra/Group/Embedding.lean renamed: Mathlib/Algebra/Hom/Equiv/Basic.lean -> Mathlib/Algebra/Group/Equiv/Basic.lean renamed: Mathlib/Algebra/Hom/Equiv/TypeTags.lean -> Mathlib/Algebra/Group/Equiv/TypeTags.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/Basic.lean -> Mathlib/Algebra/Group/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/GroupWithZero.lean -> Mathlib/Algebra/GroupWithZero/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Freiman.lean -> Mathlib/Algebra/Group/Freiman.lean renamed: Mathlib/Algebra/Hom/Group/Basic.lean -> Mathlib/Algebra/Group/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Group/Defs.lean -> Mathlib/Algebra/Group/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/GroupAction.lean -> Mathlib/GroupTheory/GroupAction/Hom.lean renamed: Mathlib/Algebra/Hom/GroupInstances.lean -> Mathlib/Algebra/Group/Hom/Instances.lean renamed: Mathlib/Algebra/Hom/Iterate.lean -> Mathlib/Algebra/GroupPower/IterateHom.lean renamed: Mathlib/Algebra/Hom/Centroid.lean -> Mathlib/Algebra/Ring/CentroidHom.lean renamed: Mathlib/Algebra/Hom/Ring/Basic.lean -> Mathlib/Algebra/Ring/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Ring/Defs.lean -> Mathlib/Algebra/Ring/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/Units.lean -> Mathlib/Algebra/Group/Units/Hom.lean

Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Reorganizing.20.60Mathlib.2EAlgebra.2EHom.60

Diff
@@ -3,10 +3,10 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
 -/
-import Mathlib.Data.Pi.Algebra
-import Mathlib.Algebra.Hom.Group.Basic
+import Mathlib.Algebra.Group.Hom.Basic
 import Mathlib.Algebra.Order.Group.Instances
 import Mathlib.Algebra.Order.Monoid.WithZero.Defs
+import Mathlib.Data.Pi.Algebra
 import Mathlib.Order.Hom.Basic
 
 #align_import algebra.order.hom.monoid from "leanprover-community/mathlib"@"3342d1b2178381196f818146ff79bc0e7ccd9e2d"
refactor: split Algebra.Hom.Group and Algebra.Hom.Ring (#7094)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
 -/
 import Mathlib.Data.Pi.Algebra
-import Mathlib.Algebra.Hom.Group
+import Mathlib.Algebra.Hom.Group.Basic
 import Mathlib.Algebra.Order.Group.Instances
 import Mathlib.Algebra.Order.Monoid.WithZero.Defs
 import Mathlib.Order.Hom.Basic
chore: @[simp] cancel_(right|left) (#6300)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -453,14 +453,14 @@ theorem id_comp (f : α →*o β) : (OrderMonoidHom.id β).comp f = f :=
 #align order_monoid_hom.id_comp OrderMonoidHom.id_comp
 #align order_add_monoid_hom.id_comp OrderAddMonoidHom.id_comp
 
-@[to_additive]
+@[to_additive (attr := simp)]
 theorem cancel_right {g₁ g₂ : β →*o γ} {f : α →*o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
   ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, fun _ => by congr⟩
 #align order_monoid_hom.cancel_right OrderMonoidHom.cancel_right
 #align order_add_monoid_hom.cancel_right OrderAddMonoidHom.cancel_right
 
-@[to_additive]
+@[to_additive (attr := simp)]
 theorem cancel_left {g : β →*o γ} {f₁ f₂ : α →*o β} (hg : Function.Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
   ⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
@@ -708,11 +708,13 @@ theorem comp_id (f : α →*₀o β) : f.comp (OrderMonoidWithZeroHom.id α) = f
 theorem id_comp (f : α →*₀o β) : (OrderMonoidWithZeroHom.id β).comp f = f := rfl
 #align order_monoid_with_zero_hom.id_comp OrderMonoidWithZeroHom.id_comp
 
+@[simp]
 theorem cancel_right {g₁ g₂ : β →*₀o γ} {f : α →*₀o β} (hf : Function.Surjective f) :
     g₁.comp f = g₂.comp f ↔ g₁ = g₂ :=
   ⟨fun h => ext <| hf.forall.2 <| FunLike.ext_iff.1 h, fun _ => by congr⟩
 #align order_monoid_with_zero_hom.cancel_right OrderMonoidWithZeroHom.cancel_right
 
+@[simp]
 theorem cancel_left {g : β →*₀o γ} {f₁ f₂ : α →*₀o β} (hg : Function.Injective g) :
     g.comp f₁ = g.comp f₂ ↔ f₁ = f₂ :=
   ⟨fun h => ext fun a => hg <| by rw [← comp_apply, h, comp_apply], congr_arg _⟩
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -56,7 +56,7 @@ ordered monoid, ordered group, monoid with zero
 
 open Function
 
-variable {F α β γ δ : Type _}
+variable {F α β γ δ : Type*}
 
 section AddMonoid
 
@@ -66,10 +66,10 @@ structure.
 `OrderAddMonoidHom` is also used for ordered group homomorphisms.
 
 When possible, instead of parametrizing results over `(f : α →+o β)`,
-you should parametrize over `(F : Type _) [OrderAddMonoidHomClass F α β] (f : F)`.
+you should parametrize over `(F : Type*) [OrderAddMonoidHomClass F α β] (f : F)`.
 
 When you extend this structure, make sure to extend `OrderAddMonoidHomClass`. -/
-structure OrderAddMonoidHom (α β : Type _) [Preorder α] [Preorder β] [AddZeroClass α]
+structure OrderAddMonoidHom (α β : Type*) [Preorder α] [Preorder β] [AddZeroClass α]
   [AddZeroClass β] extends α →+ β where
   /-- An `OrderAddMonoidHom` is a monotone function. -/
   monotone' : Monotone toFun
@@ -83,7 +83,7 @@ section
 /-- `OrderAddMonoidHomClass F α β` states that `F` is a type of ordered monoid homomorphisms.
 
 You should also extend this typeclass when you extend `OrderAddMonoidHom`. -/
-class OrderAddMonoidHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α] [Preorder β]
+class OrderAddMonoidHomClass (F : Type*) (α β : outParam <| Type*) [Preorder α] [Preorder β]
   [AddZeroClass α] [AddZeroClass β] extends AddMonoidHomClass F α β where
   /-- An `OrderAddMonoidHom` is a monotone function. -/
   monotone (f : F) : Monotone f
@@ -101,11 +101,11 @@ section Monoid
 `OrderMonoidHom` is also used for ordered group homomorphisms.
 
 When possible, instead of parametrizing results over `(f : α →*o β)`,
-you should parametrize over `(F : Type _) [OrderMonoidHomClass F α β] (f : F)`.
+you should parametrize over `(F : Type*) [OrderMonoidHomClass F α β] (f : F)`.
 
 When you extend this structure, make sure to extend `OrderMonoidHomClass`. -/
 @[to_additive]
-structure OrderMonoidHom (α β : Type _) [Preorder α] [Preorder β] [MulOneClass α]
+structure OrderMonoidHom (α β : Type*) [Preorder α] [Preorder β] [MulOneClass α]
   [MulOneClass β] extends α →* β where
   /-- An `OrderMonoidHom` is a monotone function. -/
   monotone' : Monotone toFun
@@ -120,7 +120,7 @@ section
 
 You should also extend this typeclass when you extend `OrderMonoidHom`. -/
 @[to_additive]
-class OrderMonoidHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α] [Preorder β]
+class OrderMonoidHomClass (F : Type*) (α β : outParam <| Type*) [Preorder α] [Preorder β]
   [MulOneClass α] [MulOneClass β] extends MonoidHomClass F α β where
   /-- An `OrderMonoidHom` is a monotone function. -/
   monotone (f : F) : Monotone f
@@ -165,10 +165,10 @@ the `MonoidWithZero` structure.
 `OrderMonoidWithZeroHom` is also used for group homomorphisms.
 
 When possible, instead of parametrizing results over `(f : α →+ β)`,
-you should parametrize over `(F : Type _) [OrderMonoidWithZeroHomClass F α β] (f : F)`.
+you should parametrize over `(F : Type*) [OrderMonoidWithZeroHomClass F α β] (f : F)`.
 
 When you extend this structure, make sure to extend `OrderMonoidWithZeroHomClass`. -/
-structure OrderMonoidWithZeroHom (α β : Type _) [Preorder α] [Preorder β] [MulZeroOneClass α]
+structure OrderMonoidWithZeroHom (α β : Type*) [Preorder α] [Preorder β] [MulZeroOneClass α]
   [MulZeroOneClass β] extends α →*₀ β where
   /-- An `OrderMonoidWithZeroHom` is a monotone function. -/
   monotone' : Monotone toFun
@@ -183,7 +183,7 @@ section
 ordered monoid with zero homomorphisms.
 
 You should also extend this typeclass when you extend `OrderMonoidWithZeroHom`. -/
-class OrderMonoidWithZeroHomClass (F : Type _) (α β : outParam <| Type _) [Preorder α] [Preorder β]
+class OrderMonoidWithZeroHomClass (F : Type*) (α β : outParam <| Type*) [Preorder α] [Preorder β]
   [MulZeroOneClass α] [MulZeroOneClass β] extends MonoidWithZeroHomClass F α β where
   /-- An `OrderMonoidWithZeroHom` is a monotone function. -/
   monotone (f : F) : Monotone f
chore: remove 'Ported by' headers (#6018)

Briefly during the port we were adding "Ported by" headers, but only ~60 / 3000 files ended up with such a header.

I propose deleting them.

We could consider adding these uniformly via a script, as part of the great history rewrite...?

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,7 +2,6 @@
 Copyright (c) 2022 Yaël Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
-Ported by: Frédéric Dupuis
 -/
 import Mathlib.Data.Pi.Algebra
 import Mathlib.Algebra.Hom.Group
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -3,11 +3,6 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
 Ported by: Frédéric Dupuis
-
-! This file was ported from Lean 3 source module algebra.order.hom.monoid
-! leanprover-community/mathlib commit 3342d1b2178381196f818146ff79bc0e7ccd9e2d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Data.Pi.Algebra
 import Mathlib.Algebra.Hom.Group
@@ -15,6 +10,8 @@ import Mathlib.Algebra.Order.Group.Instances
 import Mathlib.Algebra.Order.Monoid.WithZero.Defs
 import Mathlib.Order.Hom.Basic
 
+#align_import algebra.order.hom.monoid from "leanprover-community/mathlib"@"3342d1b2178381196f818146ff79bc0e7ccd9e2d"
+
 /-!
 # Ordered monoid and group homomorphisms
 
chore: formatting issues (#4947)

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -140,7 +140,7 @@ variable {_ : Preorder α} {_ : Preorder β} {_ : MulOneClass α} {_ : MulOneCla
   "Turn an element of a type `F` satisfying `OrderAddMonoidHomClass F α β` into an actual
   `OrderAddMonoidHom`. This is declared as the default coercion from `F` to `α →+o β`."]
 def OrderMonoidHomClass.toOrderMonoidHom [OrderMonoidHomClass F α β] (f : F) : α →*o β :=
-{ (f : α →* β) with monotone' := monotone f }
+  { (f : α →* β) with monotone' := monotone f }
 
 -- See note [lower instance priority]
 @[to_additive]
feat: improvements to congr! and convert (#2606)
  • There is now configuration for 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.
  • There is now a new 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.
  • With set_option trace.congr! true you can see what congr! sees when it is deciding on congruence lemmas.
  • There is also a bug fix in 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.

Diff
@@ -353,13 +353,13 @@ theorem coe_orderHom (f : α →*o β) : ((f : α →o β) : α → β) = f :=
 
 @[to_additive]
 theorem toMonoidHom_injective : Injective (toMonoidHom : _ → α →* β) := fun f g h =>
-  ext <| by convert FunLike.ext_iff.1 h
+  ext <| by convert FunLike.ext_iff.1 h using 0
 #align order_monoid_hom.to_monoid_hom_injective OrderMonoidHom.toMonoidHom_injective
 #align order_add_monoid_hom.to_add_monoid_hom_injective OrderAddMonoidHom.toAddMonoidHom_injective
 
 @[to_additive]
 theorem toOrderHom_injective : Injective (toOrderHom : _ → α →o β) := fun f g h =>
-  ext <| by convert FunLike.ext_iff.1 h
+  ext <| by convert FunLike.ext_iff.1 h using 0
 #align order_monoid_hom.to_order_hom_injective OrderMonoidHom.toOrderHom_injective
 #align order_add_monoid_hom.to_order_hom_injective OrderAddMonoidHom.toOrderHom_injective
 
@@ -634,11 +634,11 @@ theorem coe_orderMonoidHom (f : α →*₀o β) : ⇑(f : α →*o β) = f :=
 #align order_monoid_with_zero_hom.coe_order_monoid_hom OrderMonoidWithZeroHom.coe_orderMonoidHom
 
 theorem toOrderMonoidHom_injective : Injective (toOrderMonoidHom : _ → α →*o β) := fun f g h =>
-  ext <| by convert FunLike.ext_iff.1 h
+  ext <| by convert FunLike.ext_iff.1 h using 0
 #align order_monoid_with_zero_hom.to_order_monoid_hom_injective OrderMonoidWithZeroHom.toOrderMonoidHom_injective
 
 theorem toMonoidWithZeroHom_injective : Injective (toMonoidWithZeroHom : _ → α →*₀ β) :=
-  fun f g h => ext <| by convert FunLike.ext_iff.1 h
+  fun f g h => ext <| by convert FunLike.ext_iff.1 h using 0
 #align order_monoid_with_zero_hom.to_monoid_with_zero_hom_injective OrderMonoidWithZeroHom.toMonoidWithZeroHom_injective
 
 /-- Copy of an `OrderMonoidWithZeroHom` with a new `toFun` equal to the old one. Useful to fix
chore: add missing #align statements (#1902)

This PR is the result of a slight variant on the following "algorithm"

  • take all mathlib 3 names, remove _ and make all uppercase letters into lowercase
  • take all mathlib 4 names, remove _ and make all uppercase letters into lowercase
  • look for matches, and create pairs (original_lean3_name, OriginalLean4Name)
  • for pairs that do not have an align statement:
    • use Lean 4 to lookup the file + position of the Lean 4 name
    • add an #align statement just before the next empty line
  • manually fix some tiny mistakes (e.g., empty lines in proofs might cause the #align statement to have been inserted too early)
Diff
@@ -422,6 +422,7 @@ theorem coe_comp (f : β →*o γ) (g : α →*o β) : (f.comp g : α → γ) =
 theorem comp_apply (f : β →*o γ) (g : α →*o β) (a : α) : (f.comp g) a = f (g a) :=
   rfl
 #align order_add_monoid_hom.comp_apply OrderAddMonoidHom.comp_apply
+#align order_monoid_hom.comp_apply OrderMonoidHom.comp_apply
 
 @[to_additive]
 theorem coe_comp_monoidHom (f : β →*o γ) (g : α →*o β) :
chore: Rename Type* to Type _ (#1866)

A bunch of docstrings were still mentioning Type*. This changes them to Type _.

Diff
@@ -70,7 +70,7 @@ structure.
 `OrderAddMonoidHom` is also used for ordered group homomorphisms.
 
 When possible, instead of parametrizing results over `(f : α →+o β)`,
-you should parametrize over `(F : Type*) [OrderAddMonoidHomClass F α β] (f : F)`.
+you should parametrize over `(F : Type _) [OrderAddMonoidHomClass F α β] (f : F)`.
 
 When you extend this structure, make sure to extend `OrderAddMonoidHomClass`. -/
 structure OrderAddMonoidHom (α β : Type _) [Preorder α] [Preorder β] [AddZeroClass α]
@@ -105,7 +105,7 @@ section Monoid
 `OrderMonoidHom` is also used for ordered group homomorphisms.
 
 When possible, instead of parametrizing results over `(f : α →*o β)`,
-you should parametrize over `(F : Type*) [OrderMonoidHomClass F α β] (f : F)`.
+you should parametrize over `(F : Type _) [OrderMonoidHomClass F α β] (f : F)`.
 
 When you extend this structure, make sure to extend `OrderMonoidHomClass`. -/
 @[to_additive]
@@ -169,7 +169,7 @@ the `MonoidWithZero` structure.
 `OrderMonoidWithZeroHom` is also used for group homomorphisms.
 
 When possible, instead of parametrizing results over `(f : α →+ β)`,
-you should parametrize over `(F : Type*) [OrderMonoidWithZeroHomClass F α β] (f : F)`.
+you should parametrize over `(F : Type _) [OrderMonoidWithZeroHomClass F α β] (f : F)`.
 
 When you extend this structure, make sure to extend `OrderMonoidWithZeroHomClass`. -/
 structure OrderMonoidWithZeroHom (α β : Type _) [Preorder α] [Preorder β] [MulZeroOneClass α]
chore: the style linter shouldn't complain about long #align lines (#1643)
Diff
@@ -207,9 +207,7 @@ instance (priority := 100) OrderMonoidWithZeroHomClass.toOrderMonoidHomClass
     {_ : Preorder α} {_ : Preorder β} {_ : MulZeroOneClass α} {_ : MulZeroOneClass β}
     [OrderMonoidWithZeroHomClass F α β] : OrderMonoidHomClass F α β :=
   { ‹OrderMonoidWithZeroHomClass F α β› with }
-#align
-  order_monoid_with_zero_hom_class.to_order_monoid_hom_class
-  OrderMonoidWithZeroHomClass.toOrderMonoidHomClass
+#align order_monoid_with_zero_hom_class.to_order_monoid_hom_class OrderMonoidWithZeroHomClass.toOrderMonoidHomClass
 
 instance [OrderMonoidWithZeroHomClass F α β] : CoeTC F (α →*₀o β) :=
   ⟨OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom⟩
@@ -627,9 +625,7 @@ def toOrderMonoidHom (f : α →*₀o β) : α →*o β :=
 @[simp]
 theorem coe_monoidWithZeroHom (f : α →*₀o β) : ⇑(f : α →*₀ β) = f :=
   rfl
-#align
-  order_monoid_with_zero_hom.coe_monoid_with_zero_hom
-  OrderMonoidWithZeroHom.coe_monoidWithZeroHom
+#align order_monoid_with_zero_hom.coe_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_monoidWithZeroHom
 
 @[simp]
 theorem coe_orderMonoidHom (f : α →*₀o β) : ⇑(f : α →*o β) = f :=
@@ -638,15 +634,11 @@ theorem coe_orderMonoidHom (f : α →*₀o β) : ⇑(f : α →*o β) = f :=
 
 theorem toOrderMonoidHom_injective : Injective (toOrderMonoidHom : _ → α →*o β) := fun f g h =>
   ext <| by convert FunLike.ext_iff.1 h
-#align
-  order_monoid_with_zero_hom.to_order_monoid_hom_injective
-  OrderMonoidWithZeroHom.toOrderMonoidHom_injective
+#align order_monoid_with_zero_hom.to_order_monoid_hom_injective OrderMonoidWithZeroHom.toOrderMonoidHom_injective
 
 theorem toMonoidWithZeroHom_injective : Injective (toMonoidWithZeroHom : _ → α →*₀ β) :=
   fun f g h => ext <| by convert FunLike.ext_iff.1 h
-#align
-  order_monoid_with_zero_hom.to_monoid_with_zero_hom_injective
-  OrderMonoidWithZeroHom.toMonoidWithZeroHom_injective
+#align order_monoid_with_zero_hom.to_monoid_with_zero_hom_injective OrderMonoidWithZeroHom.toMonoidWithZeroHom_injective
 
 /-- Copy of an `OrderMonoidWithZeroHom` with a new `toFun` equal to the old one. Useful to fix
 definitional equalities. -/
@@ -698,16 +690,12 @@ theorem comp_apply (f : β →*₀o γ) (g : α →*₀o β) (a : α) : (f.comp
 theorem coe_comp_monoidWithZeroHom (f : β →*₀o γ) (g : α →*₀o β) :
     (f.comp g : α →*₀ γ) = (f : β →*₀ γ).comp g :=
   rfl
-#align
-  order_monoid_with_zero_hom.coe_comp_monoid_with_zero_hom
-  OrderMonoidWithZeroHom.coe_comp_monoidWithZeroHom
+#align order_monoid_with_zero_hom.coe_comp_monoid_with_zero_hom OrderMonoidWithZeroHom.coe_comp_monoidWithZeroHom
 
 theorem coe_comp_orderMonoidHom (f : β →*₀o γ) (g : α →*₀o β) :
     (f.comp g : α →*o γ) = (f : β →*o γ).comp g :=
   rfl
-#align
-  order_monoid_with_zero_hom.coe_comp_order_monoid_hom
-  OrderMonoidWithZeroHom.coe_comp_orderMonoidHom
+#align order_monoid_with_zero_hom.coe_comp_order_monoid_hom OrderMonoidWithZeroHom.coe_comp_orderMonoidHom
 
 @[simp]
 theorem comp_assoc (f : γ →*₀o δ) (g : β →*₀o γ) (h : α →*₀o β) :
@@ -772,16 +760,12 @@ variable {hα : Preorder α} {hα' : MulZeroOneClass α} {hβ : Preorder β} {h
 @[simp]
 theorem toMonoidWithZeroHom_eq_coe (f : α →*₀o β) : f.toMonoidWithZeroHom = f := by
   rfl
-#align
-  order_monoid_with_zero_hom.to_monoid_with_zero_hom_eq_coe
-  OrderMonoidWithZeroHom.toMonoidWithZeroHom_eq_coe
+#align order_monoid_with_zero_hom.to_monoid_with_zero_hom_eq_coe OrderMonoidWithZeroHom.toMonoidWithZeroHom_eq_coe
 
 @[simp]
 theorem toOrderMonoidHom_eq_coe (f : α →*₀o β) : f.toOrderMonoidHom = f :=
   rfl
-#align
-  order_monoid_with_zero_hom.to_order_monoid_hom_eq_coe
-  OrderMonoidWithZeroHom.toOrderMonoidHom_eq_coe
+#align order_monoid_with_zero_hom.to_order_monoid_hom_eq_coe OrderMonoidWithZeroHom.toOrderMonoidHom_eq_coe
 
 end LinearOrderedCommMonoidWithZero
 
feat: add HomClass.toHom coercions to Algebra.Order.Hom.Monoid (#1603)

To create good coercion behaviour for the Homs and fix some broken norm_casts in #1482, added OrderMonoidHomClass.toOrderMonoidHom and OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom to Algebra.Order.Hom.Monoid. This is consistent with how we have been treating coercions of Homs in other files recently, such as Algebra.Hom.GroupAction.

Also golfed some ext; rfls in that file to rfls since that now works.

Diff
@@ -134,6 +134,13 @@ end
 
 variable {_ : Preorder α} {_ : Preorder β} {_ : MulOneClass α} {_ : MulOneClass β}
 
+/-- Turn an element of a type `F` satisfying `OrderMonoidHomClass F α β` into an actual
+`OrderMonoidHom`. This is declared as the default coercion from `F` to `α →*o β`. -/
+@[to_additive (attr := coe)
+  "Turn an element of a type `F` satisfying `OrderAddMonoidHomClass F α β` into an actual
+  `OrderAddMonoidHom`. This is declared as the default coercion from `F` to `α →+o β`."]
+def OrderMonoidHomClass.toOrderMonoidHom [OrderMonoidHomClass F α β] (f : F) : α →*o β :=
+{ (f : α →* β) with monotone' := monotone f }
 
 -- See note [lower instance priority]
 @[to_additive]
@@ -143,11 +150,12 @@ instance (priority := 100) OrderMonoidHomClass.toOrderHomClass [OrderMonoidHomCl
 #align order_monoid_hom_class.to_order_hom_class OrderMonoidHomClass.toOrderHomClass
 #align order_add_monoid_hom_class.to_order_hom_class OrderAddMonoidHomClass.toOrderHomClass
 
-@[to_additive]
+/-- Any type satisfying `OrderMonoidHomClass` can be cast into `OrderMonoidHom` via
+  `OrderMonoidHomClass.toOrderMonoidHom`. -/
+@[to_additive "Any type satisfying `OrderAddMonoidHomClass` can be cast into `OrderAddMonoidHom` via
+  `OrderAddMonoidHomClass.toOrderAddMonoidHom`"]
 instance [OrderMonoidHomClass F α β] : CoeTC F (α →*o β) :=
-  ⟨fun f =>
-    { toFun := f, map_one' := map_one f, map_mul' := map_mul f,
-      monotone' := OrderMonoidHomClass.monotone _ }⟩
+  ⟨OrderMonoidHomClass.toOrderMonoidHom⟩
 
 end Monoid
 
@@ -185,6 +193,13 @@ class OrderMonoidWithZeroHomClass (F : Type _) (α β : outParam <| Type _) [Pre
   monotone (f : F) : Monotone f
 #align order_monoid_with_zero_hom_class OrderMonoidWithZeroHomClass
 
+/-- Turn an element of a type `F` satisfying `OrderMonoidWithZeroHomClass F α β` into an actual
+`OrderMonoidWithZeroHom`. This is declared as the default coercion from `F` to `α →+*₀o β`. -/
+@[coe]
+def OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom [OrderMonoidWithZeroHomClass F α β]
+    (f : F) : α →*₀o β :=
+{ (f : α →*₀ β) with monotone' := monotone f }
+
 end
 
 -- See note [lower instance priority]
@@ -192,16 +207,12 @@ instance (priority := 100) OrderMonoidWithZeroHomClass.toOrderMonoidHomClass
     {_ : Preorder α} {_ : Preorder β} {_ : MulZeroOneClass α} {_ : MulZeroOneClass β}
     [OrderMonoidWithZeroHomClass F α β] : OrderMonoidHomClass F α β :=
   { ‹OrderMonoidWithZeroHomClass F α β› with }
-#align order_monoid_with_zero_hom_class.to_order_monoid_hom_class
+#align
+  order_monoid_with_zero_hom_class.to_order_monoid_hom_class
   OrderMonoidWithZeroHomClass.toOrderMonoidHomClass
 
 instance [OrderMonoidWithZeroHomClass F α β] : CoeTC F (α →*₀o β) :=
-  ⟨fun f =>
-    { toFun := f,
-      map_one' := map_one f,
-      map_zero' := map_zero f,
-      map_mul' := map_mul f,
-      monotone' := OrderMonoidWithZeroHomClass.monotone _ }⟩
+  ⟨OrderMonoidWithZeroHomClass.toOrderMonoidWithZeroHom⟩
 
 end MonoidWithZero
 
@@ -278,8 +289,7 @@ variable [Preorder α] [Preorder β] [Preorder γ] [Preorder δ] [MulOneClass α
   [MulOneClass γ] [MulOneClass δ] {f g : α →*o β}
 
 @[to_additive]
-instance : OrderMonoidHomClass (α →*o β) α
-      β where
+ instance : OrderMonoidHomClass (α →*o β) α β where
   coe f := f.toFun
   coe_injective' f g h := by
     obtain ⟨⟨⟨_, _⟩⟩, _⟩ := f
@@ -357,7 +367,7 @@ theorem toOrderHom_injective : Injective (toOrderHom : _ → α →o β) := fun
 
 /-- Copy of an `OrderMonoidHom` with a new `toFun` equal to the old one. Useful to fix
 definitional equalities. -/
-@[to_additive "Copy of an `OrderMonoidHom` with a new `toFun` equal to the old one. Useful to fix
+@[to_additive "Copy of an `OrderAddMonoidHom` 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.toMonoidHom.copy f' h with toFun := f', monotone' := h.symm.subst f.monotone' }
@@ -438,13 +448,13 @@ theorem comp_assoc (f : γ →*o δ) (g : β →*o γ) (h : α →*o β) :
 
 @[to_additive (attr := simp)]
 theorem comp_id (f : α →*o β) : f.comp (OrderMonoidHom.id α) = f :=
-  ext fun _ => rfl
+  rfl
 #align order_monoid_hom.comp_id OrderMonoidHom.comp_id
 #align order_add_monoid_hom.comp_id OrderAddMonoidHom.comp_id
 
 @[to_additive (attr := simp)]
 theorem id_comp (f : α →*o β) : (OrderMonoidHom.id β).comp f = f :=
-  ext fun _ => rfl
+  rfl
 #align order_monoid_hom.id_comp OrderMonoidHom.id_comp
 #align order_add_monoid_hom.id_comp OrderAddMonoidHom.id_comp
 
@@ -486,9 +496,8 @@ theorem one_comp (f : α →*o β) : (1 : β →*o γ).comp f = 1 :=
 #align order_add_monoid_hom.zero_comp OrderAddMonoidHom.zero_comp
 
 @[to_additive (attr := simp)]
-theorem comp_one (f : β →*o γ) : f.comp (1 : α →*o β) = 1 := by
-  ext
-  exact map_one f
+theorem comp_one (f : β →*o γ) : f.comp (1 : α →*o β) = 1 :=
+  ext fun _ => map_one f
 #align order_monoid_hom.comp_one OrderMonoidHom.comp_one
 #align order_add_monoid_hom.comp_zero OrderAddMonoidHom.comp_zero
 
@@ -524,9 +533,8 @@ theorem mul_comp (g₁ g₂ : β →*o γ) (f : α →*o β) : (g₁ * g₂).com
 #align order_add_monoid_hom.add_comp OrderAddMonoidHom.add_comp
 
 @[to_additive]
-theorem comp_mul (g : β →*o γ) (f₁ f₂ : α →*o β) : g.comp (f₁ * f₂) = g.comp f₁ * g.comp f₂ := by
-  ext
-  exact map_mul g _ _
+theorem comp_mul (g : β →*o γ) (f₁ f₂ : α →*o β) : g.comp (f₁ * f₂) = g.comp f₁ * g.comp f₂ :=
+  ext fun _ => map_mul g _ _
 #align order_monoid_hom.comp_mul OrderMonoidHom.comp_mul
 #align order_add_monoid_hom.comp_add OrderAddMonoidHom.comp_add
 
@@ -537,12 +545,14 @@ section OrderedCommMonoid
 variable {hα : OrderedCommMonoid α} {hβ : OrderedCommMonoid β}
 
 @[to_additive (attr := simp)]
-theorem toMonoidHom_eq_coe (f : α →*o β) : f.toMonoidHom = f := by ext; rfl
+theorem toMonoidHom_eq_coe (f : α →*o β) : f.toMonoidHom = f :=
+  rfl
 #align order_monoid_hom.to_monoid_hom_eq_coe OrderMonoidHom.toMonoidHom_eq_coe
 #align order_add_monoid_hom.to_add_monoid_hom_eq_coe OrderAddMonoidHom.toAddMonoidHom_eq_coe
 
 @[to_additive (attr := simp)]
-theorem toOrderHom_eq_coe (f : α →*o β) : f.toOrderHom = f := rfl
+theorem toOrderHom_eq_coe (f : α →*o β) : f.toOrderHom = f :=
+  rfl
 #align order_monoid_hom.to_order_hom_eq_coe OrderMonoidHom.toOrderHom_eq_coe
 #align order_add_monoid_hom.to_order_hom_eq_coe OrderAddMonoidHom.toOrderHom_eq_coe
 
@@ -572,8 +582,7 @@ section Preorder
 variable [Preorder α] [Preorder β] [Preorder γ] [Preorder δ] [MulZeroOneClass α] [MulZeroOneClass β]
   [MulZeroOneClass γ] [MulZeroOneClass δ] {f g : α →*₀o β}
 
-instance : OrderMonoidWithZeroHomClass (α →*₀o β) α
-      β where
+instance : OrderMonoidWithZeroHomClass (α →*₀o β) α β where
   coe f := f.toFun
   coe_injective' f g h := by
     obtain ⟨⟨⟨_, _⟩⟩, _⟩ := f
@@ -607,9 +616,7 @@ theorem coe_mk (f : α →*₀ β) (h) : (OrderMonoidWithZeroHom.mk f h : α →
 #align order_monoid_with_zero_hom.coe_mk OrderMonoidWithZeroHom.coe_mk
 
 @[simp]
-theorem mk_coe (f : α →*₀o β) (h) : OrderMonoidWithZeroHom.mk (f : α →*₀ β) h = f := by
-  ext
-  rfl
+theorem mk_coe (f : α →*₀o β) (h) : OrderMonoidWithZeroHom.mk (f : α →*₀ β) h = f := rfl
 #align order_monoid_with_zero_hom.mk_coe OrderMonoidWithZeroHom.mk_coe
 
 /-- Reinterpret an ordered monoid with zero homomorphism as an order monoid homomorphism. -/
@@ -709,13 +716,11 @@ theorem comp_assoc (f : γ →*₀o δ) (g : β →*₀o γ) (h : α →*₀o β
 #align order_monoid_with_zero_hom.comp_assoc OrderMonoidWithZeroHom.comp_assoc
 
 @[simp]
-theorem comp_id (f : α →*₀o β) : f.comp (OrderMonoidWithZeroHom.id α) = f :=
-  ext fun _ => rfl
+theorem comp_id (f : α →*₀o β) : f.comp (OrderMonoidWithZeroHom.id α) = f := rfl
 #align order_monoid_with_zero_hom.comp_id OrderMonoidWithZeroHom.comp_id
 
 @[simp]
-theorem id_comp (f : α →*₀o β) : (OrderMonoidWithZeroHom.id β).comp f = f :=
-  ext fun _ => rfl
+theorem id_comp (f : α →*₀o β) : (OrderMonoidWithZeroHom.id β).comp f = f := rfl
 #align order_monoid_with_zero_hom.id_comp OrderMonoidWithZeroHom.id_comp
 
 theorem cancel_right {g₁ g₂ : β →*₀o γ} {f : α →*₀o β} (hf : Function.Surjective f) :
@@ -766,7 +771,6 @@ variable {hα : Preorder α} {hα' : MulZeroOneClass α} {hβ : Preorder β} {h
 
 @[simp]
 theorem toMonoidWithZeroHom_eq_coe (f : α →*₀o β) : f.toMonoidWithZeroHom = f := by
-  ext
   rfl
 #align
   order_monoid_with_zero_hom.to_monoid_with_zero_hom_eq_coe
feat: improve the way to_additive deals with attributes (#1314)
  • The new syntax for any attributes that need to be copied by to_additive is @[to_additive (attrs := simp, ext, simps)]
  • Adds the auxiliary declarations generated by the simp and simps attributes to the to_additive-dictionary.
  • Future issue: Does not yet translate auxiliary declarations for other attributes (including custom simp-attributes). In particular it's possible that norm_cast might generate some auxiliary declarations.
  • Fixes #950
  • Fixes #953
  • Fixes #1149
  • This moves the interaction between to_additive and simps from the Simps file to the toAdditive file for uniformity.
  • Make the same changes to @[reassoc]

Co-authored-by: Johan Commelin <johan@commelin.net> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -299,7 +299,7 @@ instance : OrderMonoidHomClass (α →*o β) α
 --   FunLike.instCoeFunForAll
 
 -- Other lemmas should be accessed through the `FunLike` API
-@[ext, to_additive]
+@[to_additive (attr := ext)]
 theorem ext (h : ∀ a, f a = g a) : f = g :=
   FunLike.ext f g h
 #align order_monoid_hom.ext OrderMonoidHom.ext
@@ -311,13 +311,13 @@ theorem toFun_eq_coe (f : α →*o β) : f.toFun = (f : α → β) :=
 #align order_monoid_hom.to_fun_eq_coe OrderMonoidHom.toFun_eq_coe
 #align order_add_monoid_hom.to_fun_eq_coe OrderAddMonoidHom.toFun_eq_coe
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem coe_mk (f : α →* β) (h) : (OrderMonoidHom.mk f h : α → β) = f :=
   rfl
 #align order_monoid_hom.coe_mk OrderMonoidHom.coe_mk
 #align order_add_monoid_hom.coe_mk OrderAddMonoidHom.coe_mk
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem mk_coe (f : α →*o β) (h) : OrderMonoidHom.mk (f : α →* β) h = f := by
   ext
   rfl
@@ -331,13 +331,13 @@ def toOrderHom (f : α →*o β) : α →o β :=
 #align order_monoid_hom.to_order_hom OrderMonoidHom.toOrderHom
 #align order_add_monoid_hom.to_order_hom OrderAddMonoidHom.toOrderHom
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem coe_monoidHom (f : α →*o β) : ((f : α →* β) : α → β) = f :=
   rfl
 #align order_monoid_hom.coe_monoid_hom OrderMonoidHom.coe_monoidHom
 #align order_add_monoid_hom.coe_add_monoid_hom OrderAddMonoidHom.coe_addMonoidHom
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem coe_orderHom (f : α →*o β) : ((f : α →o β) : α → β) = f :=
   rfl
 #align order_monoid_hom.coe_order_hom OrderMonoidHom.coe_orderHom
@@ -364,7 +364,7 @@ protected def copy (f : α →*o β) (f' : α → β) (h : f' = f) : α →*o β
 #align order_monoid_hom.copy OrderMonoidHom.copy
 #align order_add_monoid_hom.copy OrderAddMonoidHom.copy
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem coe_copy (f : α →*o β) (f' : α → β) (h : f' = f) : ⇑(f.copy f' h) = f' :=
   rfl
 #align order_monoid_hom.coe_copy OrderMonoidHom.coe_copy
@@ -385,7 +385,7 @@ protected def id : α →*o α :=
 #align order_monoid_hom.id OrderMonoidHom.id
 #align order_add_monoid_hom.id OrderAddMonoidHom.id
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem coe_id : ⇑(OrderMonoidHom.id α) = id :=
   rfl
 #align order_monoid_hom.coe_id OrderMonoidHom.coe_id
@@ -404,13 +404,13 @@ def comp (f : β →*o γ) (g : α →*o β) : α →*o γ :=
 #align order_monoid_hom.comp OrderMonoidHom.comp
 #align order_add_monoid_hom.comp OrderAddMonoidHom.comp
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem coe_comp (f : β →*o γ) (g : α →*o β) : (f.comp g : α → γ) = f ∘ g :=
   rfl
 #align order_monoid_hom.coe_comp OrderMonoidHom.coe_comp
 #align order_add_monoid_hom.coe_comp OrderAddMonoidHom.coe_comp
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem comp_apply (f : β →*o γ) (g : α →*o β) (a : α) : (f.comp g) a = f (g a) :=
   rfl
 #align order_add_monoid_hom.comp_apply OrderAddMonoidHom.comp_apply
@@ -429,20 +429,20 @@ theorem coe_comp_orderHom (f : β →*o γ) (g : α →*o β) :
 #align order_monoid_hom.coe_comp_order_hom OrderMonoidHom.coe_comp_orderHom
 #align order_add_monoid_hom.coe_comp_order_hom OrderAddMonoidHom.coe_comp_orderHom
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem comp_assoc (f : γ →*o δ) (g : β →*o γ) (h : α →*o β) :
     (f.comp g).comp h = f.comp (g.comp h) :=
   rfl
 #align order_monoid_hom.comp_assoc OrderMonoidHom.comp_assoc
 #align order_add_monoid_hom.comp_assoc OrderAddMonoidHom.comp_assoc
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem comp_id (f : α →*o β) : f.comp (OrderMonoidHom.id α) = f :=
   ext fun _ => rfl
 #align order_monoid_hom.comp_id OrderMonoidHom.comp_id
 #align order_add_monoid_hom.comp_id OrderAddMonoidHom.comp_id
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem id_comp (f : α →*o β) : (OrderMonoidHom.id β).comp f = f :=
   ext fun _ => rfl
 #align order_monoid_hom.id_comp OrderMonoidHom.id_comp
@@ -467,25 +467,25 @@ theorem cancel_left {g : β →*o γ} {f₁ f₂ : α →*o β} (hg : Function.I
 instance : One (α →*o β) :=
   ⟨{ (1 : α →* β) with monotone' := monotone_const }⟩
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem coe_one : ⇑(1 : α →*o β) = 1 :=
   rfl
 #align order_monoid_hom.coe_one OrderMonoidHom.coe_one
 #align order_add_monoid_hom.coe_zero OrderAddMonoidHom.coe_zero
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem one_apply (a : α) : (1 : α →*o β) a = 1 :=
   rfl
 #align order_monoid_hom.one_apply OrderMonoidHom.one_apply
 #align order_add_monoid_hom.zero_apply OrderAddMonoidHom.zero_apply
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem one_comp (f : α →*o β) : (1 : β →*o γ).comp f = 1 :=
   rfl
 #align order_monoid_hom.one_comp OrderMonoidHom.one_comp
 #align order_add_monoid_hom.zero_comp OrderAddMonoidHom.zero_comp
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem comp_one (f : β →*o γ) : f.comp (1 : α →*o β) = 1 := by
   ext
   exact map_one f
@@ -505,13 +505,13 @@ additive monoid morphism sending `a` to `f a + g a`."]
 instance : Mul (α →*o β) :=
   ⟨fun f g => { (f * g : α →* β) with monotone' := f.monotone'.mul' g.monotone' }⟩
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem coe_mul (f g : α →*o β) : ⇑(f * g) = f * g :=
   rfl
 #align order_monoid_hom.coe_mul OrderMonoidHom.coe_mul
 #align order_add_monoid_hom.coe_add OrderAddMonoidHom.coe_add
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem mul_apply (f g : α →*o β) (a : α) : (f * g) a = f a * g a :=
   rfl
 #align order_monoid_hom.mul_apply OrderMonoidHom.mul_apply
@@ -536,12 +536,12 @@ section OrderedCommMonoid
 
 variable {hα : OrderedCommMonoid α} {hβ : OrderedCommMonoid β}
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem toMonoidHom_eq_coe (f : α →*o β) : f.toMonoidHom = f := by ext; rfl
 #align order_monoid_hom.to_monoid_hom_eq_coe OrderMonoidHom.toMonoidHom_eq_coe
 #align order_add_monoid_hom.to_add_monoid_hom_eq_coe OrderAddMonoidHom.toAddMonoidHom_eq_coe
 
-@[simp, to_additive]
+@[to_additive (attr := simp)]
 theorem toOrderHom_eq_coe (f : α →*o β) : f.toOrderHom = f := rfl
 #align order_monoid_hom.to_order_hom_eq_coe OrderMonoidHom.toOrderHom_eq_coe
 #align order_add_monoid_hom.to_order_hom_eq_coe OrderAddMonoidHom.toOrderHom_eq_coe
chore: fix casing per naming scheme (#1183)

Fix a lot of wrong casing mostly in the docstrings but also sometimes in def/theorem names. E.g. fin 2 --> Fin 2, add_monoid_hom --> AddMonoidHom

Remove \n from to_additive docstrings that were inserted by mathport.

Move files and directories with Gcd and Smul to GCD and SMul

Diff
@@ -158,7 +158,7 @@ variable [Preorder α] [Preorder β] [MulZeroOneClass α] [MulZeroOneClass β]
 /-- `OrderMonoidWithZeroHom α β` is the type of functions `α → β` that preserve
 the `MonoidWithZero` structure.
 
-`OrderMonoidWithZero_hom` is also used for group homomorphisms.
+`OrderMonoidWithZeroHom` is also used for group homomorphisms.
 
 When possible, instead of parametrizing results over `(f : α →+ β)`,
 you should parametrize over `(F : Type*) [OrderMonoidWithZeroHomClass F α β] (f : F)`.
@@ -398,7 +398,7 @@ instance : Inhabited (α →*o α) :=
 variable {α}
 
 /-- Composition of `OrderMonoidHom`s as an `OrderMonoidHom`. -/
-@[to_additive "Composition of `order_add_monoid_hom`s as an `order_add_monoid_hom`"]
+@[to_additive "Composition of `OrderAddMonoidHom`s as an `OrderAddMonoidHom`"]
 def comp (f : β →*o γ) (g : α →*o β) : α →*o γ :=
   { f.toMonoidHom.comp (g : α →* β), f.toOrderHom.comp (g : α →o β) with }
 #align order_monoid_hom.comp OrderMonoidHom.comp
chore: add source headers to ported theory files (#1094)

The script used to do this is included. The yaml file was obtained from https://raw.githubusercontent.com/wiki/leanprover-community/mathlib/mathlib4-port-status.md

Diff
@@ -3,6 +3,11 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yaël Dillies
 Ported by: Frédéric Dupuis
+
+! This file was ported from Lean 3 source module algebra.order.hom.monoid
+! leanprover-community/mathlib commit 3342d1b2178381196f818146ff79bc0e7ccd9e2d
+! Please do not edit these lines, except to modify the commit id
+! if you have ported upstream changes.
 -/
 import Mathlib.Data.Pi.Algebra
 import Mathlib.Algebra.Hom.Group

Dependencies 1 + 58

59 files ported (98.3%)
26470 lines ported (99.7%)
Show graph

The unported dependencies are