algebra.order.hom.basicMathlib.Algebra.Order.Hom.Basic

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)

(last sync)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

feat(algebra/order/absolute_value): Absolute values are multiplicative ring norms (#16919)

Generalise ..._seminorm_class to arbitrary codomains (rather than just ). Instantiate mul_ring_norm_class for absolute values.

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 algebra.hom.group
+import algebra.group_power.order
 
 /-!
 # Algebraic order homomorphism classes
@@ -15,23 +15,67 @@ This file defines hom classes for common properties at the intersection of order
 
 ## Typeclasses
 
+Basic typeclasses
 * `nonneg_hom_class`: Homs are nonnegative: `∀ f a, 0 ≤ f a`
 * `subadditive_hom_class`: Homs are subadditive: `∀ f a b, f (a + b) ≤ f a + f b`
 * `submultiplicative_hom_class`: Homs are submultiplicative: `∀ f a b, f (a * b) ≤ f a * f b`
 * `mul_le_add_hom_class`: `∀ f a b, f (a * b) ≤ f a + f b`
 * `nonarchimedean_hom_class`: `∀ a b, f (a + b) ≤ max (f a) (f b)`
 
+Group norms
+* `add_group_seminorm_class`: Homs are nonnegative, subadditive, even and preserve zero.
+* `group_seminorm_class`: Homs are nonnegative, respect `f (a * b) ≤ f a + f b`, `f a⁻¹ = f a` and
+  preserve zero.
+* `add_group_norm_class`: Homs are seminorms such that `f x = 0 → x = 0` for all `x`.
+* `group_norm_class`: Homs are seminorms such that `f x = 0 → x = 1` for all `x`.
+
+Ring norms
+* `ring_seminorm_class`: Homs are submultiplicative group norms.
+* `ring_norm_class`: Homs are ring seminorms that are also additive group norms.
+* `mul_ring_seminorm_class`: Homs are ring seminorms that are multiplicative.
+* `mul_ring_norm_class`: Homs are ring norms that are multiplicative.
+
+## Notes
+
+Typeclasses for seminorms are defined here while types of seminorms are defined in
+`analysis.normed.group.seminorm` and `analysis.normed.ring.seminorm` because absolute values are
+multiplicative ring norms but outside of this use we only consider real-valued seminorms.
+
 ## TODO
 
 Finitary versions of the current lemmas.
 -/
 
+/--
+Diamond inheritance cannot depend on `out_param`s in the following circumstances:
+ * there are three classes `top`, `middle`, `bottom`
+ * all of these classes have a parameter `(α : out_param _)`
+ * all of these classes have an instance parameter `[root α]` that depends on this `out_param`
+ * the `root` class has two child classes: `left` and `right`, these are siblings in the hierarchy
+ * the instance `bottom.to_middle` takes a `[left α]` parameter
+ * the instance `middle.to_top` takes a `[right α]` parameter
+ * there is a `leaf` class that inherits from both `left` and `right`.
+In that case, given instances `bottom α` and `leaf α`, Lean cannot synthesize a `top α` instance,
+even though the hypotheses of the instances `bottom.to_middle` and `middle.to_top` are satisfied.
+
+There are two workarounds:
+* You could replace the bundled inheritance implemented by the instance `middle.to_top` with
+  unbundled inheritance implemented by adding a `[top α]` parameter to the `middle` class. This is
+  the preferred option since it is also more compatible with Lean 4, at the cost of being more work
+  to implement and more verbose to use.
+* You could weaken the `bottom.to_middle` instance by making it depend on a subclass of
+  `middle.to_top`'s parameter, in this example replacing `[left α]` with `[leaf α]`.
+-/
+library_note "out-param inheritance"
+
 set_option old_structure_cmd true
 
 open function
 
 variables {ι F α β γ δ : Type*}
 
+/-! ### Basics -/
+
 /-- `nonneg_hom_class F α β` states that `F` is a type of nonnegative morphisms. -/
 class nonneg_hom_class (F : Type*) (α β : out_param $ Type*) [has_zero β] [has_le β]
   extends fun_like F α (λ _, β) :=
@@ -84,3 +128,147 @@ by simpa only [div_mul_div_cancel'] using map_mul_le_mul f (a / b) (b / c)
 lemma le_map_div_add_map_div [group α] [add_comm_semigroup β] [has_le β]
   [mul_le_add_hom_class F α β] (f : F) (a b c: α) : f (a / c) ≤ f (a / b) + f (b / c) :=
 by simpa only [div_mul_div_cancel'] using map_mul_le_add f (a / b) (b / c)
+
+/-! ### Group (semi)norms -/
+
+/-- `add_group_seminorm_class F α` states that `F` is a type of `β`-valued seminorms on the additive
+group `α`.
+
+You should extend this class when you extend `add_group_seminorm`. -/
+class add_group_seminorm_class (F : Type*) (α β : out_param $ Type*) [add_group α]
+  [ordered_add_comm_monoid β] extends subadditive_hom_class F α β :=
+(map_zero (f : F) : f 0 = 0)
+(map_neg_eq_map (f : F) (a : α) : f (-a) = f a)
+
+/-- `group_seminorm_class F α` states that `F` is a type of `β`-valued seminorms on the group `α`.
+
+You should extend this class when you extend `group_seminorm`. -/
+@[to_additive]
+class group_seminorm_class (F : Type*) (α β : out_param $ Type*) [group α]
+  [ordered_add_comm_monoid β] extends mul_le_add_hom_class F α β :=
+(map_one_eq_zero (f : F) : f 1 = 0)
+(map_inv_eq_map (f : F) (a : α) : f a⁻¹ = f a)
+
+/-- `add_group_norm_class F α` states that `F` is a type of `β`-valued norms on the additive group
+`α`.
+
+You should extend this class when you extend `add_group_norm`. -/
+class add_group_norm_class (F : Type*) (α β : out_param $ Type*) [add_group α]
+  [ordered_add_comm_monoid β] extends add_group_seminorm_class F α β :=
+(eq_zero_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 0)
+
+/-- `group_norm_class F α` states that `F` is a type of `β`-valued norms on the group `α`.
+
+You should extend this class when you extend `group_norm`. -/
+@[to_additive]
+class group_norm_class (F : Type*) (α β : out_param $ Type*) [group α] [ordered_add_comm_monoid β]
+  extends group_seminorm_class F α β :=
+(eq_one_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 1)
+
+export add_group_seminorm_class    (map_neg_eq_map)
+export group_seminorm_class        (map_one_eq_zero map_inv_eq_map)
+export add_group_norm_class        (eq_zero_of_map_eq_zero)
+export group_norm_class            (eq_one_of_map_eq_zero)
+
+attribute [simp, to_additive map_zero] map_one_eq_zero
+attribute [simp] map_neg_eq_map
+attribute [simp, to_additive] map_inv_eq_map
+attribute [to_additive] group_seminorm_class.to_mul_le_add_hom_class
+attribute [to_additive] group_norm_class.to_group_seminorm_class
+
+@[priority 100] -- See note [lower instance priority]
+instance add_group_seminorm_class.to_zero_hom_class [add_group α] [ordered_add_comm_monoid β]
+  [add_group_seminorm_class F α β] :
+  zero_hom_class F α β :=
+{ ..‹add_group_seminorm_class F α β› }
+
+section group_seminorm_class
+variables [group α] [ordered_add_comm_monoid β] [group_seminorm_class F α β] (f : F) (x y : α)
+include α β
+
+@[to_additive] lemma map_div_le_add : f (x / y) ≤ f x + f y :=
+by { rw [div_eq_mul_inv, ←map_inv_eq_map f y], exact map_mul_le_add _ _ _ }
+
+@[to_additive] lemma map_div_rev : f (x / y) = f (y / x) := by rw [←inv_div, map_inv_eq_map]
+
+@[to_additive] lemma le_map_add_map_div' : f x ≤ f y + f (y / x) :=
+by simpa only [add_comm, map_div_rev, div_mul_cancel'] using map_mul_le_add f (x / y) y
+
+end group_seminorm_class
+
+example [ordered_add_comm_group β] : ordered_add_comm_monoid β := infer_instance
+
+@[to_additive] lemma abs_sub_map_le_div [group α] [linear_ordered_add_comm_group β]
+  [group_seminorm_class F α β] (f : F) (x y : α) : |f x - f y| ≤ f (x / y) :=
+begin
+  rw [abs_sub_le_iff, sub_le_iff_le_add', sub_le_iff_le_add'],
+  exact ⟨le_map_add_map_div _ _ _, le_map_add_map_div' _ _ _⟩
+end
+
+@[to_additive, priority 100] -- See note [lower instance priority]
+instance group_seminorm_class.to_nonneg_hom_class [group α] [linear_ordered_add_comm_monoid β]
+  [group_seminorm_class F α β] :
+  nonneg_hom_class F α β :=
+{ map_nonneg := λ f a, (nsmul_nonneg_iff two_ne_zero).1 $
+    by { rw [two_nsmul, ←map_one_eq_zero f, ←div_self' a], exact map_div_le_add _ _ _ },
+  ..‹group_seminorm_class F α β› }
+
+section group_norm_class
+variables [group α] [ordered_add_comm_monoid β] [group_norm_class F α β] (f : F) {x : α}
+include α β
+
+@[simp, to_additive] lemma map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 :=
+⟨eq_one_of_map_eq_zero _, by { rintro rfl, exact map_one_eq_zero _ }⟩
+
+@[to_additive] lemma map_ne_zero_iff_ne_one : f x ≠ 0 ↔ x ≠ 1 := (map_eq_zero_iff_eq_one _).not
+
+end group_norm_class
+
+@[to_additive] lemma map_pos_of_ne_one [group α] [linear_ordered_add_comm_monoid β]
+  [group_norm_class F α β] (f : F) {x : α} (hx : x ≠ 1) : 0 < f x :=
+(map_nonneg _ _).lt_of_ne $ ((map_ne_zero_iff_ne_one _).2 hx).symm
+
+/-! ### Ring (semi)norms -/
+
+/-- `ring_seminorm_class F α` states that `F` is a type of `β`-valued seminorms on the ring `α`.
+
+You should extend this class when you extend `ring_seminorm`. -/
+class ring_seminorm_class (F : Type*) (α β : out_param $ Type*) [non_unital_non_assoc_ring α]
+  [ordered_semiring β] extends add_group_seminorm_class F α β, submultiplicative_hom_class F α β
+
+/-- `ring_norm_class F α` states that `F` is a type of `β`-valued norms on the ring `α`.
+
+You should extend this class when you extend `ring_norm`. -/
+class ring_norm_class (F : Type*) (α β : out_param $ Type*) [non_unital_non_assoc_ring α]
+  [ordered_semiring β] extends ring_seminorm_class F α β, add_group_norm_class F α β
+
+/-- `mul_ring_seminorm_class F α` states that `F` is a type of `β`-valued multiplicative seminorms
+on the ring `α`.
+
+You should extend this class when you extend `mul_ring_seminorm`. -/
+class mul_ring_seminorm_class (F : Type*) (α β : out_param $ Type*) [non_assoc_ring α]
+  [ordered_semiring β] extends add_group_seminorm_class F α β, monoid_with_zero_hom_class F α β
+
+/-- `mul_ring_norm_class F α` states that `F` is a type of `β`-valued multiplicative norms on the
+ring `α`.
+
+You should extend this class when you extend `mul_ring_norm`. -/
+class mul_ring_norm_class (F : Type*) (α β : out_param $ Type*) [non_assoc_ring α]
+  [ordered_semiring β] extends mul_ring_seminorm_class F α β, add_group_norm_class F α β
+
+-- See note [out-param inheritance]
+@[priority 100] -- See note [lower instance priority]
+instance ring_seminorm_class.to_nonneg_hom_class [non_unital_non_assoc_ring α]
+  [linear_ordered_semiring β] [ring_seminorm_class F α β] : nonneg_hom_class F α β :=
+add_group_seminorm_class.to_nonneg_hom_class
+
+@[priority 100] -- See note [lower instance priority]
+instance mul_ring_seminorm_class.to_ring_seminorm_class [non_assoc_ring α] [ordered_semiring β]
+  [mul_ring_seminorm_class F α β] : ring_seminorm_class F α β :=
+{ map_mul_le_mul := λ f a b, (map_mul _ _ _).le,
+  ..‹mul_ring_seminorm_class F α β› }
+
+@[priority 100] -- See note [lower instance priority]
+instance mul_ring_norm_class.to_ring_norm_class [non_assoc_ring α] [ordered_semiring β]
+  [mul_ring_norm_class F α β] : ring_norm_class F α β :=
+{ ..‹mul_ring_norm_class F α β›, ..mul_ring_seminorm_class.to_ring_seminorm_class }

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(first ported)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -138,7 +138,7 @@ attribute [simp] map_nonneg
 @[to_additive]
 theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
     (f : F) (a b : α) : f a ≤ f b * f (a / b) := by
-  simpa only [mul_comm, div_mul_cancel'] using map_mul_le_mul f (a / b) b
+  simpa only [mul_comm, div_mul_cancel] using map_mul_le_mul f (a / b) b
 #align le_map_mul_map_div le_map_mul_map_div
 #align le_map_add_map_sub le_map_add_map_sub
 -/
@@ -147,7 +147,7 @@ theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [Submultiplicat
 @[to_additive]
 theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β] (f : F)
     (a b : α) : f a ≤ f b + f (a / b) := by
-  simpa only [add_comm, div_mul_cancel'] using map_mul_le_add f (a / b) b
+  simpa only [add_comm, div_mul_cancel] using map_mul_le_add f (a / b) b
 #align le_map_add_map_div le_map_add_map_div
 #align le_map_add_map_sub le_map_add_map_sub
 -/
@@ -269,7 +269,7 @@ theorem map_div_rev : f (x / y) = f (y / x) := by rw [← inv_div, map_inv_eq_ma
 #print le_map_add_map_div' /-
 @[to_additive]
 theorem le_map_add_map_div' : f x ≤ f y + f (y / x) := by
-  simpa only [add_comm, map_div_rev, div_mul_cancel'] using map_mul_le_add f (x / y) y
+  simpa only [add_comm, map_div_rev, div_mul_cancel] using map_mul_le_add f (x / y) y
 #align le_map_add_map_div' le_map_add_map_div'
 #align le_map_add_map_sub' le_map_add_map_sub'
 -/
Diff
@@ -81,7 +81,7 @@ variable {ι F α β γ δ : Type _}
 #print NonnegHomClass /-
 /-- `nonneg_hom_class F α β` states that `F` is a type of nonnegative morphisms. -/
 class NonnegHomClass (F : Type _) (α β : outParam <| Type _) [Zero β] [LE β] extends
-    FunLike F α fun _ => β where
+    DFunLike F α fun _ => β where
   map_nonneg (f : F) : ∀ a, 0 ≤ f a
 #align nonneg_hom_class NonnegHomClass
 -/
@@ -89,7 +89,7 @@ class NonnegHomClass (F : Type _) (α β : outParam <| Type _) [Zero β] [LE β]
 #print SubadditiveHomClass /-
 /-- `subadditive_hom_class F α β` states that `F` is a type of subadditive morphisms. -/
 class SubadditiveHomClass (F : Type _) (α β : outParam <| Type _) [Add α] [Add β] [LE β] extends
-    FunLike F α fun _ => β where
+    DFunLike F α fun _ => β where
   map_add_le_add (f : F) : ∀ a b, f (a + b) ≤ f a + f b
 #align subadditive_hom_class SubadditiveHomClass
 -/
@@ -98,7 +98,7 @@ class SubadditiveHomClass (F : Type _) (α β : outParam <| Type _) [Add α] [Ad
 /-- `submultiplicative_hom_class F α β` states that `F` is a type of submultiplicative morphisms. -/
 @[to_additive SubadditiveHomClass]
 class SubmultiplicativeHomClass (F : Type _) (α β : outParam <| Type _) [Mul α] [Mul β]
-    [LE β] extends FunLike F α fun _ => β where
+    [LE β] extends DFunLike F α fun _ => β where
   map_hMul_le_hMul (f : F) : ∀ a b, f (a * b) ≤ f a * f b
 #align submultiplicative_hom_class SubmultiplicativeHomClass
 #align subadditive_hom_class SubadditiveHomClass
@@ -108,7 +108,7 @@ class SubmultiplicativeHomClass (F : Type _) (α β : outParam <| Type _) [Mul 
 /-- `mul_le_add_hom_class F α β` states that `F` is a type of subadditive morphisms. -/
 @[to_additive SubadditiveHomClass]
 class MulLEAddHomClass (F : Type _) (α β : outParam <| Type _) [Mul α] [Add β] [LE β] extends
-    FunLike F α fun _ => β where
+    DFunLike F α fun _ => β where
   map_hMul_le_add (f : F) : ∀ a b, f (a * b) ≤ f a + f b
 #align mul_le_add_hom_class MulLEAddHomClass
 #align subadditive_hom_class SubadditiveHomClass
@@ -117,7 +117,7 @@ class MulLEAddHomClass (F : Type _) (α β : outParam <| Type _) [Mul α] [Add 
 #print NonarchimedeanHomClass /-
 /-- `nonarchimedean_hom_class F α β` states that `F` is a type of non-archimedean morphisms. -/
 class NonarchimedeanHomClass (F : Type _) (α β : outParam <| Type _) [Add α] [LinearOrder β] extends
-    FunLike F α fun _ => β where
+    DFunLike F α fun _ => β where
   map_add_le_max (f : F) : ∀ a b, f (a + b) ≤ max (f a) (f b)
 #align nonarchimedean_hom_class NonarchimedeanHomClass
 -/
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 Mathbin.Algebra.GroupPower.Order
+import Algebra.GroupPower.Order
 
 #align_import algebra.order.hom.basic from "leanprover-community/mathlib"@"7ea604785a41a0681eac70c5a82372493dbefc68"
 
Diff
@@ -99,7 +99,7 @@ class SubadditiveHomClass (F : Type _) (α β : outParam <| Type _) [Add α] [Ad
 @[to_additive SubadditiveHomClass]
 class SubmultiplicativeHomClass (F : Type _) (α β : outParam <| Type _) [Mul α] [Mul β]
     [LE β] extends FunLike F α fun _ => β where
-  map_mul_le_mul (f : F) : ∀ a b, f (a * b) ≤ f a * f b
+  map_hMul_le_hMul (f : F) : ∀ a b, f (a * b) ≤ f a * f b
 #align submultiplicative_hom_class SubmultiplicativeHomClass
 #align subadditive_hom_class SubadditiveHomClass
 -/
@@ -109,7 +109,7 @@ class SubmultiplicativeHomClass (F : Type _) (α β : outParam <| Type _) [Mul 
 @[to_additive SubadditiveHomClass]
 class MulLEAddHomClass (F : Type _) (α β : outParam <| Type _) [Mul α] [Add β] [LE β] extends
     FunLike F α fun _ => β where
-  map_mul_le_add (f : F) : ∀ a b, f (a * b) ≤ f a + f b
+  map_hMul_le_add (f : F) : ∀ a b, f (a * b) ≤ f a + f b
 #align mul_le_add_hom_class MulLEAddHomClass
 #align subadditive_hom_class SubadditiveHomClass
 -/
@@ -126,9 +126,9 @@ export NonnegHomClass (map_nonneg)
 
 export SubadditiveHomClass (map_add_le_add)
 
-export SubmultiplicativeHomClass (map_mul_le_mul)
+export SubmultiplicativeHomClass (map_hMul_le_hMul)
 
-export MulLEAddHomClass (map_mul_le_add)
+export MulLEAddHomClass (map_hMul_le_add)
 
 export NonarchimedeanHomClass (map_add_le_max)
 
@@ -388,7 +388,7 @@ instance (priority := 100) RingSeminormClass.toNonnegHomClass [NonUnitalNonAssoc
 -- See note [lower instance priority]
 instance (priority := 100) MulRingSeminormClass.toRingSeminormClass [NonAssocRing α]
     [OrderedSemiring β] [MulRingSeminormClass F α β] : RingSeminormClass F α β :=
-  { ‹MulRingSeminormClass F α β› with map_mul_le_mul := fun f a b => (map_mul _ _ _).le }
+  { ‹MulRingSeminormClass F α β› with map_hMul_le_hMul := fun f a b => (map_mul _ _ _).le }
 #align mul_ring_seminorm_class.to_ring_seminorm_class MulRingSeminormClass.toRingSeminormClass
 -/
 
Diff
@@ -2,14 +2,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
-
-! This file was ported from Lean 3 source module algebra.order.hom.basic
-! leanprover-community/mathlib commit 7ea604785a41a0681eac70c5a82372493dbefc68
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.GroupPower.Order
 
+#align_import algebra.order.hom.basic from "leanprover-community/mathlib"@"7ea604785a41a0681eac70c5a82372493dbefc68"
+
 /-!
 # Algebraic order homomorphism classes
 
Diff
@@ -137,33 +137,41 @@ export NonarchimedeanHomClass (map_add_le_max)
 
 attribute [simp] map_nonneg
 
+#print le_map_mul_map_div /-
 @[to_additive]
 theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
     (f : F) (a b : α) : f a ≤ f b * f (a / b) := by
   simpa only [mul_comm, div_mul_cancel'] using map_mul_le_mul f (a / b) b
 #align le_map_mul_map_div le_map_mul_map_div
 #align le_map_add_map_sub le_map_add_map_sub
+-/
 
+#print le_map_add_map_div /-
 @[to_additive]
 theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β] (f : F)
     (a b : α) : f a ≤ f b + f (a / b) := by
   simpa only [add_comm, div_mul_cancel'] using map_mul_le_add f (a / b) b
 #align le_map_add_map_div le_map_add_map_div
 #align le_map_add_map_sub le_map_add_map_sub
+-/
 
+#print le_map_div_mul_map_div /-
 @[to_additive]
 theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
     (f : F) (a b c : α) : f (a / c) ≤ f (a / b) * f (b / c) := by
   simpa only [div_mul_div_cancel'] using map_mul_le_mul f (a / b) (b / c)
 #align le_map_div_mul_map_div le_map_div_mul_map_div
 #align le_map_sub_add_map_sub le_map_sub_add_map_sub
+-/
 
+#print le_map_div_add_map_div /-
 @[to_additive]
 theorem le_map_div_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β]
     (f : F) (a b c : α) : f (a / c) ≤ f (a / b) + f (b / c) := by
   simpa only [div_mul_div_cancel'] using map_mul_le_add f (a / b) (b / c)
 #align le_map_div_add_map_div le_map_div_add_map_div
 #align le_map_sub_add_map_sub le_map_sub_add_map_sub
+-/
 
 /-! ### Group (semi)norms -/
 
@@ -234,40 +242,47 @@ attribute [to_additive] GroupSeminormClass.toMulLeAddHomClass
 
 attribute [to_additive] GroupNormClass.toGroupSeminormClass
 
+#print AddGroupSeminormClass.toZeroHomClass /-
 -- See note [lower instance priority]
 instance (priority := 100) AddGroupSeminormClass.toZeroHomClass [AddGroup α]
     [OrderedAddCommMonoid β] [AddGroupSeminormClass F α β] : ZeroHomClass F α β :=
   { ‹AddGroupSeminormClass F α β› with }
 #align add_group_seminorm_class.to_zero_hom_class AddGroupSeminormClass.toZeroHomClass
+-/
 
 section GroupSeminormClass
 
 variable [Group α] [OrderedAddCommMonoid β] [GroupSeminormClass F α β] (f : F) (x y : α)
 
-include α β
-
+#print map_div_le_add /-
 @[to_additive]
 theorem map_div_le_add : f (x / y) ≤ f x + f y := by rw [div_eq_mul_inv, ← map_inv_eq_map f y];
   exact map_mul_le_add _ _ _
 #align map_div_le_add map_div_le_add
 #align map_sub_le_add map_sub_le_add
+-/
 
+#print map_div_rev /-
 @[to_additive]
 theorem map_div_rev : f (x / y) = f (y / x) := by rw [← inv_div, map_inv_eq_map]
 #align map_div_rev map_div_rev
 #align map_sub_rev map_sub_rev
+-/
 
+#print le_map_add_map_div' /-
 @[to_additive]
 theorem le_map_add_map_div' : f x ≤ f y + f (y / x) := by
   simpa only [add_comm, map_div_rev, div_mul_cancel'] using map_mul_le_add f (x / y) y
 #align le_map_add_map_div' le_map_add_map_div'
 #align le_map_add_map_sub' le_map_add_map_sub'
+-/
 
 end GroupSeminormClass
 
 example [OrderedAddCommGroup β] : OrderedAddCommMonoid β :=
   inferInstance
 
+#print abs_sub_map_le_div /-
 @[to_additive]
 theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSeminormClass F α β]
     (f : F) (x y : α) : |f x - f y| ≤ f (x / y) :=
@@ -276,7 +291,9 @@ theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSemin
   exact ⟨le_map_add_map_div _ _ _, le_map_add_map_div' _ _ _⟩
 #align abs_sub_map_le_div abs_sub_map_le_div
 #align abs_sub_map_le_sub abs_sub_map_le_sub
+-/
 
+#print GroupSeminormClass.toNonnegHomClass /-
 -- See note [lower instance priority]
 @[to_additive]
 instance (priority := 100) GroupSeminormClass.toNonnegHomClass [Group α]
@@ -287,33 +304,38 @@ instance (priority := 100) GroupSeminormClass.toNonnegHomClass [Group α]
         exact map_div_le_add _ _ _ }
 #align group_seminorm_class.to_nonneg_hom_class GroupSeminormClass.toNonnegHomClass
 #align add_group_seminorm_class.to_nonneg_hom_class AddGroupSeminormClass.toNonnegHomClass
+-/
 
 section GroupNormClass
 
 variable [Group α] [OrderedAddCommMonoid β] [GroupNormClass F α β] (f : F) {x : α}
 
-include α β
-
+#print map_eq_zero_iff_eq_one /-
 @[simp, to_additive]
 theorem map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 :=
   ⟨eq_one_of_map_eq_zero _, by rintro rfl; exact map_one_eq_zero _⟩
 #align map_eq_zero_iff_eq_one map_eq_zero_iff_eq_one
 #align map_eq_zero_iff_eq_zero map_eq_zero_iff_eq_zero
+-/
 
+#print map_ne_zero_iff_ne_one /-
 @[to_additive]
 theorem map_ne_zero_iff_ne_one : f x ≠ 0 ↔ x ≠ 1 :=
   (map_eq_zero_iff_eq_one _).Not
 #align map_ne_zero_iff_ne_one map_ne_zero_iff_ne_one
 #align map_ne_zero_iff_ne_zero map_ne_zero_iff_ne_zero
+-/
 
 end GroupNormClass
 
+#print map_pos_of_ne_one /-
 @[to_additive]
 theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormClass F α β] (f : F)
     {x : α} (hx : x ≠ 1) : 0 < f x :=
   (map_nonneg _ _).lt_of_ne <| ((map_ne_zero_iff_ne_one _).2 hx).symm
 #align map_pos_of_ne_one map_pos_of_ne_one
 #align map_pos_of_ne_zero map_pos_of_ne_zero
+-/
 
 /-! ### Ring (semi)norms -/
 
@@ -356,12 +378,14 @@ class MulRingNormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing 
 #align mul_ring_norm_class MulRingNormClass
 -/
 
+#print RingSeminormClass.toNonnegHomClass /-
 -- See note [out-param inheritance]
 -- See note [lower instance priority]
 instance (priority := 100) RingSeminormClass.toNonnegHomClass [NonUnitalNonAssocRing α]
     [LinearOrderedSemiring β] [RingSeminormClass F α β] : NonnegHomClass F α β :=
   AddGroupSeminormClass.toNonnegHomClass
 #align ring_seminorm_class.to_nonneg_hom_class RingSeminormClass.toNonnegHomClass
+-/
 
 #print MulRingSeminormClass.toRingSeminormClass /-
 -- See note [lower instance priority]
Diff
@@ -84,7 +84,7 @@ variable {ι F α β γ δ : Type _}
 #print NonnegHomClass /-
 /-- `nonneg_hom_class F α β` states that `F` is a type of nonnegative morphisms. -/
 class NonnegHomClass (F : Type _) (α β : outParam <| Type _) [Zero β] [LE β] extends
-  FunLike F α fun _ => β where
+    FunLike F α fun _ => β where
   map_nonneg (f : F) : ∀ a, 0 ≤ f a
 #align nonneg_hom_class NonnegHomClass
 -/
@@ -92,7 +92,7 @@ class NonnegHomClass (F : Type _) (α β : outParam <| Type _) [Zero β] [LE β]
 #print SubadditiveHomClass /-
 /-- `subadditive_hom_class F α β` states that `F` is a type of subadditive morphisms. -/
 class SubadditiveHomClass (F : Type _) (α β : outParam <| Type _) [Add α] [Add β] [LE β] extends
-  FunLike F α fun _ => β where
+    FunLike F α fun _ => β where
   map_add_le_add (f : F) : ∀ a b, f (a + b) ≤ f a + f b
 #align subadditive_hom_class SubadditiveHomClass
 -/
@@ -101,7 +101,7 @@ class SubadditiveHomClass (F : Type _) (α β : outParam <| Type _) [Add α] [Ad
 /-- `submultiplicative_hom_class F α β` states that `F` is a type of submultiplicative morphisms. -/
 @[to_additive SubadditiveHomClass]
 class SubmultiplicativeHomClass (F : Type _) (α β : outParam <| Type _) [Mul α] [Mul β]
-  [LE β] extends FunLike F α fun _ => β where
+    [LE β] extends FunLike F α fun _ => β where
   map_mul_le_mul (f : F) : ∀ a b, f (a * b) ≤ f a * f b
 #align submultiplicative_hom_class SubmultiplicativeHomClass
 #align subadditive_hom_class SubadditiveHomClass
@@ -111,7 +111,7 @@ class SubmultiplicativeHomClass (F : Type _) (α β : outParam <| Type _) [Mul 
 /-- `mul_le_add_hom_class F α β` states that `F` is a type of subadditive morphisms. -/
 @[to_additive SubadditiveHomClass]
 class MulLEAddHomClass (F : Type _) (α β : outParam <| Type _) [Mul α] [Add β] [LE β] extends
-  FunLike F α fun _ => β where
+    FunLike F α fun _ => β where
   map_mul_le_add (f : F) : ∀ a b, f (a * b) ≤ f a + f b
 #align mul_le_add_hom_class MulLEAddHomClass
 #align subadditive_hom_class SubadditiveHomClass
@@ -120,7 +120,7 @@ class MulLEAddHomClass (F : Type _) (α β : outParam <| Type _) [Mul α] [Add 
 #print NonarchimedeanHomClass /-
 /-- `nonarchimedean_hom_class F α β` states that `F` is a type of non-archimedean morphisms. -/
 class NonarchimedeanHomClass (F : Type _) (α β : outParam <| Type _) [Add α] [LinearOrder β] extends
-  FunLike F α fun _ => β where
+    FunLike F α fun _ => β where
   map_add_le_max (f : F) : ∀ a b, f (a + b) ≤ max (f a) (f b)
 #align nonarchimedean_hom_class NonarchimedeanHomClass
 -/
@@ -174,7 +174,7 @@ group `α`.
 
 You should extend this class when you extend `add_group_seminorm`. -/
 class AddGroupSeminormClass (F : Type _) (α β : outParam <| Type _) [AddGroup α]
-  [OrderedAddCommMonoid β] extends SubadditiveHomClass F α β where
+    [OrderedAddCommMonoid β] extends SubadditiveHomClass F α β where
   map_zero (f : F) : f 0 = 0
   map_neg_eq_map (f : F) (a : α) : f (-a) = f a
 #align add_group_seminorm_class AddGroupSeminormClass
@@ -186,7 +186,7 @@ class AddGroupSeminormClass (F : Type _) (α β : outParam <| Type _) [AddGroup
 You should extend this class when you extend `group_seminorm`. -/
 @[to_additive]
 class GroupSeminormClass (F : Type _) (α β : outParam <| Type _) [Group α]
-  [OrderedAddCommMonoid β] extends MulLEAddHomClass F α β where
+    [OrderedAddCommMonoid β] extends MulLEAddHomClass F α β where
   map_one_eq_zero (f : F) : f 1 = 0
   map_inv_eq_map (f : F) (a : α) : f a⁻¹ = f a
 #align group_seminorm_class GroupSeminormClass
@@ -199,7 +199,7 @@ class GroupSeminormClass (F : Type _) (α β : outParam <| Type _) [Group α]
 
 You should extend this class when you extend `add_group_norm`. -/
 class AddGroupNormClass (F : Type _) (α β : outParam <| Type _) [AddGroup α]
-  [OrderedAddCommMonoid β] extends AddGroupSeminormClass F α β where
+    [OrderedAddCommMonoid β] extends AddGroupSeminormClass F α β where
   eq_zero_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 0
 #align add_group_norm_class AddGroupNormClass
 -/
@@ -210,7 +210,7 @@ class AddGroupNormClass (F : Type _) (α β : outParam <| Type _) [AddGroup α]
 You should extend this class when you extend `group_norm`. -/
 @[to_additive]
 class GroupNormClass (F : Type _) (α β : outParam <| Type _) [Group α]
-  [OrderedAddCommMonoid β] extends GroupSeminormClass F α β where
+    [OrderedAddCommMonoid β] extends GroupSeminormClass F α β where
   eq_one_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 1
 #align group_norm_class GroupNormClass
 #align add_group_norm_class AddGroupNormClass
@@ -323,7 +323,7 @@ theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormC
 
 You should extend this class when you extend `ring_seminorm`. -/
 class RingSeminormClass (F : Type _) (α β : outParam <| Type _) [NonUnitalNonAssocRing α]
-  [OrderedSemiring β] extends AddGroupSeminormClass F α β, SubmultiplicativeHomClass F α β
+    [OrderedSemiring β] extends AddGroupSeminormClass F α β, SubmultiplicativeHomClass F α β
 #align ring_seminorm_class RingSeminormClass
 -/
 
@@ -332,7 +332,7 @@ class RingSeminormClass (F : Type _) (α β : outParam <| Type _) [NonUnitalNonA
 
 You should extend this class when you extend `ring_norm`. -/
 class RingNormClass (F : Type _) (α β : outParam <| Type _) [NonUnitalNonAssocRing α]
-  [OrderedSemiring β] extends RingSeminormClass F α β, AddGroupNormClass F α β
+    [OrderedSemiring β] extends RingSeminormClass F α β, AddGroupNormClass F α β
 #align ring_norm_class RingNormClass
 -/
 
@@ -342,7 +342,7 @@ on the ring `α`.
 
 You should extend this class when you extend `mul_ring_seminorm`. -/
 class MulRingSeminormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing α]
-  [OrderedSemiring β] extends AddGroupSeminormClass F α β, MonoidWithZeroHomClass F α β
+    [OrderedSemiring β] extends AddGroupSeminormClass F α β, MonoidWithZeroHomClass F α β
 #align mul_ring_seminorm_class MulRingSeminormClass
 -/
 
@@ -352,7 +352,7 @@ ring `α`.
 
 You should extend this class when you extend `mul_ring_norm`. -/
 class MulRingNormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing α]
-  [OrderedSemiring β] extends MulRingSeminormClass F α β, AddGroupNormClass F α β
+    [OrderedSemiring β] extends MulRingSeminormClass F α β, AddGroupNormClass F α β
 #align mul_ring_norm_class MulRingNormClass
 -/
 
Diff
@@ -137,12 +137,6 @@ export NonarchimedeanHomClass (map_add_le_max)
 
 attribute [simp] map_nonneg
 
-/- warning: le_map_mul_map_div -> le_map_mul_map_div is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : CommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f a) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{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 : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f b) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : CommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) a) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f a) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) b) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) b) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) b) (Semigroup.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) b) (CommSemigroup.toSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) b) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f b) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)))
-Case conversion may be inaccurate. Consider using '#align le_map_mul_map_div le_map_mul_map_divₓ'. -/
 @[to_additive]
 theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
     (f : F) (a b : α) : f a ≤ f b * f (a / b) := by
@@ -150,12 +144,6 @@ theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [Submultiplicat
 #align le_map_mul_map_div le_map_mul_map_div
 #align le_map_add_map_sub le_map_add_map_sub
 
-/- warning: le_map_add_map_div -> le_map_add_map_div is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : AddCommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : MulLEAddHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f a) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f b) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : AddCommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : MulLEAddHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) a) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f a) (HAdd.hAdd.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) b) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) b) (instHAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) b) (AddSemigroup.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) b) (AddCommSemigroup.toAddSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) b) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f b) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)))
-Case conversion may be inaccurate. Consider using '#align le_map_add_map_div le_map_add_map_divₓ'. -/
 @[to_additive]
 theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β] (f : F)
     (a b : α) : f a ≤ f b + f (a / b) := by
@@ -163,12 +151,6 @@ theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHom
 #align le_map_add_map_div le_map_add_map_div
 #align le_map_add_map_sub le_map_add_map_sub
 
-/- warning: le_map_div_mul_map_div -> le_map_div_mul_map_div is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : CommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a c)) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{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 : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) b c)))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : CommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (Semigroup.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (CommSemigroup.toSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)))
-Case conversion may be inaccurate. Consider using '#align le_map_div_mul_map_div le_map_div_mul_map_divₓ'. -/
 @[to_additive]
 theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
     (f : F) (a b c : α) : f (a / c) ≤ f (a / b) * f (b / c) := by
@@ -176,12 +158,6 @@ theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [Submultipl
 #align le_map_div_mul_map_div le_map_div_mul_map_div
 #align le_map_sub_add_map_sub le_map_sub_add_map_sub
 
-/- warning: le_map_div_add_map_div -> le_map_div_add_map_div is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : AddCommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : MulLEAddHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a c)) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) b c)))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : AddCommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : MulLEAddHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) (HAdd.hAdd.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (instHAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (AddSemigroup.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (AddCommSemigroup.toAddSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)))
-Case conversion may be inaccurate. Consider using '#align le_map_div_add_map_div le_map_div_add_map_divₓ'. -/
 @[to_additive]
 theorem le_map_div_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β]
     (f : F) (a b c : α) : f (a / c) ≤ f (a / b) + f (b / c) := by
@@ -258,12 +234,6 @@ attribute [to_additive] GroupSeminormClass.toMulLeAddHomClass
 
 attribute [to_additive] GroupNormClass.toGroupSeminormClass
 
-/- warning: add_group_seminorm_class.to_zero_hom_class -> AddGroupSeminormClass.toZeroHomClass is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : AddGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2], ZeroHomClass.{u1, u2, u3} F α β (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_1)))) (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.{u2}} {β : Type.{u3}} [_inst_1 : AddGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2], ZeroHomClass.{u1, u2, u3} F α β (NegZeroClass.toZero.{u2} α (SubNegZeroMonoid.toNegZeroClass.{u2} α (SubtractionMonoid.toSubNegZeroMonoid.{u2} α (AddGroup.toSubtractionMonoid.{u2} α _inst_1)))) (AddMonoid.toZero.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))
-Case conversion may be inaccurate. Consider using '#align add_group_seminorm_class.to_zero_hom_class AddGroupSeminormClass.toZeroHomClassₓ'. -/
 -- See note [lower instance priority]
 instance (priority := 100) AddGroupSeminormClass.toZeroHomClass [AddGroup α]
     [OrderedAddCommMonoid β] [AddGroupSeminormClass F α β] : ZeroHomClass F α β :=
@@ -276,35 +246,17 @@ variable [Group α] [OrderedAddCommMonoid β] [GroupSeminormClass F α β] (f :
 
 include α β
 
-/- warning: map_div_le_add -> map_div_le_add is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), 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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f y))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), LE.le.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (Preorder.toLE.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (PartialOrder.toPreorder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (OrderedAddCommMonoid.toPartialOrder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (HAdd.hAdd.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (instHAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddZeroClass.toAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f y))
-Case conversion may be inaccurate. Consider using '#align map_div_le_add map_div_le_addₓ'. -/
 @[to_additive]
 theorem map_div_le_add : f (x / y) ≤ f x + f y := by rw [div_eq_mul_inv, ← map_inv_eq_map f y];
   exact map_mul_le_add _ _ _
 #align map_div_le_add map_div_le_add
 #align map_sub_le_add map_sub_le_add
 
-/- warning: map_div_rev -> map_div_rev is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x))
-Case conversion may be inaccurate. Consider using '#align map_div_rev map_div_revₓ'. -/
 @[to_additive]
 theorem map_div_rev : f (x / y) = f (y / x) := by rw [← inv_div, map_inv_eq_map]
 #align map_div_rev map_div_rev
 #align map_sub_rev map_sub_rev
 
-/- warning: le_map_add_map_div' -> le_map_add_map_div' is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), 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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f y) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x)))
-but is expected to have type
-  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), LE.le.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Preorder.toLE.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (PartialOrder.toPreorder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toPartialOrder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f x) (HAdd.hAdd.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toDiv.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1))) y x)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (instHAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (AddZeroClass.toAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) _inst_2))))) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f y) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toDiv.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1))) y x)))
-Case conversion may be inaccurate. Consider using '#align le_map_add_map_div' le_map_add_map_div'ₓ'. -/
 @[to_additive]
 theorem le_map_add_map_div' : f x ≤ f y + f (y / x) := by
   simpa only [add_comm, map_div_rev, div_mul_cancel'] using map_mul_le_add f (x / y) y
@@ -316,9 +268,6 @@ end GroupSeminormClass
 example [OrderedAddCommGroup β] : OrderedAddCommMonoid β :=
   inferInstance
 
-/- warning: abs_sub_map_le_div -> abs_sub_map_le_div is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align abs_sub_map_le_div abs_sub_map_le_divₓ'. -/
 @[to_additive]
 theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSeminormClass F α β]
     (f : F) (x y : α) : |f x - f y| ≤ f (x / y) :=
@@ -328,12 +277,6 @@ theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSemin
 #align abs_sub_map_le_div abs_sub_map_le_div
 #align abs_sub_map_le_sub abs_sub_map_le_sub
 
-/- warning: group_seminorm_class.to_nonneg_hom_class -> GroupSeminormClass.toNonnegHomClass is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)], NonnegHomClass.{u1, u2, u3} F α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)], NonnegHomClass.{u1, u2, u3} F α β (AddMonoid.toZero.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))
-Case conversion may be inaccurate. Consider using '#align group_seminorm_class.to_nonneg_hom_class GroupSeminormClass.toNonnegHomClassₓ'. -/
 -- See note [lower instance priority]
 @[to_additive]
 instance (priority := 100) GroupSeminormClass.toNonnegHomClass [Group α]
@@ -351,24 +294,12 @@ variable [Group α] [OrderedAddCommMonoid β] [GroupNormClass F α β] (f : F) {
 
 include α β
 
-/- warning: map_eq_zero_iff_eq_one -> map_eq_zero_iff_eq_one is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)))) f x) (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)))))))) (Eq.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))))))))
-but is expected to have type
-  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (Eq.{succ u1} α x (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (InvOneClass.toOne.{u1} α (DivInvOneMonoid.toInvOneClass.{u1} α (DivisionMonoid.toDivInvOneMonoid.{u1} α (Group.toDivisionMonoid.{u1} α _inst_1)))))))
-Case conversion may be inaccurate. Consider using '#align map_eq_zero_iff_eq_one map_eq_zero_iff_eq_oneₓ'. -/
 @[simp, to_additive]
 theorem map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 :=
   ⟨eq_one_of_map_eq_zero _, by rintro rfl; exact map_one_eq_zero _⟩
 #align map_eq_zero_iff_eq_one map_eq_zero_iff_eq_one
 #align map_eq_zero_iff_eq_zero map_eq_zero_iff_eq_zero
 
-/- warning: map_ne_zero_iff_ne_one -> map_ne_zero_iff_ne_one is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Ne.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)))) f x) (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)))))))) (Ne.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))))))))
-but is expected to have type
-  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Ne.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (Ne.{succ u1} α x (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (InvOneClass.toOne.{u1} α (DivInvOneMonoid.toInvOneClass.{u1} α (DivisionMonoid.toDivInvOneMonoid.{u1} α (Group.toDivisionMonoid.{u1} α _inst_1)))))))
-Case conversion may be inaccurate. Consider using '#align map_ne_zero_iff_ne_one map_ne_zero_iff_ne_oneₓ'. -/
 @[to_additive]
 theorem map_ne_zero_iff_ne_one : f x ≠ 0 ↔ x ≠ 1 :=
   (map_eq_zero_iff_eq_one _).Not
@@ -377,12 +308,6 @@ theorem map_ne_zero_iff_ne_one : f x ≠ 0 ↔ x ≠ 1 :=
 
 end GroupNormClass
 
-/- warning: map_pos_of_ne_one -> map_pos_of_ne_one is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)] (f : F) {x : α}, (Ne.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2) (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2) _inst_3)))) f x))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommMonoid.{u2} β] [_inst_3 : GroupNormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2)] (f : F) {x : α}, (Ne.{succ u3} α x (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (InvOneClass.toOne.{u3} α (DivInvOneMonoid.toInvOneClass.{u3} α (DivisionMonoid.toDivInvOneMonoid.{u3} α (Group.toDivisionMonoid.{u3} α _inst_1))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2)))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2) (GroupNormClass.toGroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2) _inst_3))) f x))
-Case conversion may be inaccurate. Consider using '#align map_pos_of_ne_one map_pos_of_ne_oneₓ'. -/
 @[to_additive]
 theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormClass F α β] (f : F)
     {x : α} (hx : x ≠ 1) : 0 < f x :=
@@ -431,12 +356,6 @@ class MulRingNormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing 
 #align mul_ring_norm_class MulRingNormClass
 -/
 
-/- warning: ring_seminorm_class.to_nonneg_hom_class -> RingSeminormClass.toNonnegHomClass is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonUnitalNonAssocRing.{u2} α] [_inst_2 : LinearOrderedSemiring.{u3} β] [_inst_3 : RingSeminormClass.{u1, u2, u3} F α β _inst_1 (StrictOrderedSemiring.toOrderedSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))], NonnegHomClass.{u1, u2, u3} F α β (MulZeroClass.toHasZero.{u3} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β (StrictOrderedSemiring.toSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonUnitalNonAssocRing.{u2} α] [_inst_2 : LinearOrderedSemiring.{u3} β] [_inst_3 : RingSeminormClass.{u1, u2, u3} F α β _inst_1 (StrictOrderedSemiring.toOrderedSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))], NonnegHomClass.{u1, u2, u3} F α β (MonoidWithZero.toZero.{u3} β (Semiring.toMonoidWithZero.{u3} β (StrictOrderedSemiring.toSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (StrictOrderedSemiring.toPartialOrder.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))))
-Case conversion may be inaccurate. Consider using '#align ring_seminorm_class.to_nonneg_hom_class RingSeminormClass.toNonnegHomClassₓ'. -/
 -- See note [out-param inheritance]
 -- See note [lower instance priority]
 instance (priority := 100) RingSeminormClass.toNonnegHomClass [NonUnitalNonAssocRing α]
Diff
@@ -283,9 +283,7 @@ but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), LE.le.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (Preorder.toLE.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (PartialOrder.toPreorder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (OrderedAddCommMonoid.toPartialOrder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (HAdd.hAdd.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (instHAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddZeroClass.toAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f y))
 Case conversion may be inaccurate. Consider using '#align map_div_le_add map_div_le_addₓ'. -/
 @[to_additive]
-theorem map_div_le_add : f (x / y) ≤ f x + f y :=
-  by
-  rw [div_eq_mul_inv, ← map_inv_eq_map f y]
+theorem map_div_le_add : f (x / y) ≤ f x + f y := by rw [div_eq_mul_inv, ← map_inv_eq_map f y];
   exact map_mul_le_add _ _ _
 #align map_div_le_add map_div_le_add
 #align map_sub_le_add map_sub_le_add
@@ -342,9 +340,7 @@ instance (priority := 100) GroupSeminormClass.toNonnegHomClass [Group α]
     [LinearOrderedAddCommMonoid β] [GroupSeminormClass F α β] : NonnegHomClass F α β :=
   { ‹GroupSeminormClass F α β› with
     map_nonneg := fun f a =>
-      (nsmul_nonneg_iff two_ne_zero).1 <|
-        by
-        rw [two_nsmul, ← map_one_eq_zero f, ← div_self' a]
+      (nsmul_nonneg_iff two_ne_zero).1 <| by rw [two_nsmul, ← map_one_eq_zero f, ← div_self' a];
         exact map_div_le_add _ _ _ }
 #align group_seminorm_class.to_nonneg_hom_class GroupSeminormClass.toNonnegHomClass
 #align add_group_seminorm_class.to_nonneg_hom_class AddGroupSeminormClass.toNonnegHomClass
@@ -363,9 +359,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align map_eq_zero_iff_eq_one map_eq_zero_iff_eq_oneₓ'. -/
 @[simp, to_additive]
 theorem map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 :=
-  ⟨eq_one_of_map_eq_zero _, by
-    rintro rfl
-    exact map_one_eq_zero _⟩
+  ⟨eq_one_of_map_eq_zero _, by rintro rfl; exact map_one_eq_zero _⟩
 #align map_eq_zero_iff_eq_one map_eq_zero_iff_eq_one
 #align map_eq_zero_iff_eq_zero map_eq_zero_iff_eq_zero
 
Diff
@@ -319,10 +319,7 @@ example [OrderedAddCommGroup β] : OrderedAddCommMonoid β :=
   inferInstance
 
 /- warning: abs_sub_map_le_div -> abs_sub_map_le_div is a dubious translation:
-lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommGroup.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommGroup.toPartialOrder.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))) (Abs.abs.{u3} β (Neg.toHasAbs.{u3} β (SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommGroup.toLinearOrder.{u3} β _inst_2))))) (HSub.hSub.{u3, u3, u3} β β β (instHSub.{u3} β (SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f x) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f y))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y))
-but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommGroup.{u2} β] [_inst_3 : GroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommGroup.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))) (Abs.abs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Neg.toHasAbs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (NegZeroClass.toNeg.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))))))) (SemilatticeSup.toSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Lattice.toSemilatticeSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (DistribLattice.toLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (instDistribLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toLinearOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (HSub.hSub.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (instHSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubNegMonoid.toSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f x) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f y))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) x y))
+<too large>
 Case conversion may be inaccurate. Consider using '#align abs_sub_map_le_div abs_sub_map_le_divₓ'. -/
 @[to_additive]
 theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSeminormClass F α β]
Diff
@@ -278,7 +278,7 @@ include α β
 
 /- warning: map_div_le_add -> map_div_le_add is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), 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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f y))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), 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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f y))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), LE.le.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (Preorder.toLE.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (PartialOrder.toPreorder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (OrderedAddCommMonoid.toPartialOrder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (HAdd.hAdd.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (instHAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddZeroClass.toAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f y))
 Case conversion may be inaccurate. Consider using '#align map_div_le_add map_div_le_addₓ'. -/
@@ -292,7 +292,7 @@ theorem map_div_le_add : f (x / y) ≤ f x + f y :=
 
 /- warning: map_div_rev -> map_div_rev is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x))
 Case conversion may be inaccurate. Consider using '#align map_div_rev map_div_revₓ'. -/
@@ -303,7 +303,7 @@ theorem map_div_rev : f (x / y) = f (y / x) := by rw [← inv_div, map_inv_eq_ma
 
 /- warning: le_map_add_map_div' -> le_map_add_map_div' is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), 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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f y) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x)))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), 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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f y) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x)))
 but is expected to have type
   forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), LE.le.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Preorder.toLE.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (PartialOrder.toPreorder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toPartialOrder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f x) (HAdd.hAdd.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toDiv.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1))) y x)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (instHAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (AddZeroClass.toAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) _inst_2))))) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f y) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toDiv.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1))) y x)))
 Case conversion may be inaccurate. Consider using '#align le_map_add_map_div' le_map_add_map_div'ₓ'. -/
@@ -320,7 +320,7 @@ example [OrderedAddCommGroup β] : OrderedAddCommMonoid β :=
 
 /- warning: abs_sub_map_le_div -> abs_sub_map_le_div is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommGroup.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommGroup.toPartialOrder.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))) (Abs.abs.{u3} β (Neg.toHasAbs.{u3} β (SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommGroup.toLinearOrder.{u3} β _inst_2))))) (HSub.hSub.{u3, u3, u3} β β β (instHSub.{u3} β (SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f x) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f y))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommGroup.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommGroup.toPartialOrder.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))) (Abs.abs.{u3} β (Neg.toHasAbs.{u3} β (SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommGroup.toLinearOrder.{u3} β _inst_2))))) (HSub.hSub.{u3, u3, u3} β β β (instHSub.{u3} β (SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f x) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f y))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommGroup.{u2} β] [_inst_3 : GroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommGroup.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))) (Abs.abs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Neg.toHasAbs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (NegZeroClass.toNeg.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))))))) (SemilatticeSup.toSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Lattice.toSemilatticeSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (DistribLattice.toLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (instDistribLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toLinearOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (HSub.hSub.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (instHSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubNegMonoid.toSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f x) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f y))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) x y))
 Case conversion may be inaccurate. Consider using '#align abs_sub_map_le_div abs_sub_map_le_divₓ'. -/
@@ -335,7 +335,7 @@ theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSemin
 
 /- warning: group_seminorm_class.to_nonneg_hom_class -> GroupSeminormClass.toNonnegHomClass is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)], NonnegHomClass.{u1, u2, u3} F α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)], NonnegHomClass.{u1, u2, u3} F α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)], NonnegHomClass.{u1, u2, u3} F α β (AddMonoid.toZero.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))
 Case conversion may be inaccurate. Consider using '#align group_seminorm_class.to_nonneg_hom_class GroupSeminormClass.toNonnegHomClassₓ'. -/
@@ -360,7 +360,7 @@ include α β
 
 /- warning: map_eq_zero_iff_eq_one -> map_eq_zero_iff_eq_one is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)))) f x) (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)))))))) (Eq.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))))))))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)))) f x) (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)))))))) (Eq.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))))))))
 but is expected to have type
   forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (Eq.{succ u1} α x (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (InvOneClass.toOne.{u1} α (DivInvOneMonoid.toInvOneClass.{u1} α (DivisionMonoid.toDivInvOneMonoid.{u1} α (Group.toDivisionMonoid.{u1} α _inst_1)))))))
 Case conversion may be inaccurate. Consider using '#align map_eq_zero_iff_eq_one map_eq_zero_iff_eq_oneₓ'. -/
@@ -374,7 +374,7 @@ theorem map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 :=
 
 /- warning: map_ne_zero_iff_ne_one -> map_ne_zero_iff_ne_one is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Ne.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)))) f x) (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)))))))) (Ne.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))))))))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Ne.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)))) f x) (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)))))))) (Ne.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))))))))
 but is expected to have type
   forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Ne.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (Ne.{succ u1} α x (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (InvOneClass.toOne.{u1} α (DivInvOneMonoid.toInvOneClass.{u1} α (DivisionMonoid.toDivInvOneMonoid.{u1} α (Group.toDivisionMonoid.{u1} α _inst_1)))))))
 Case conversion may be inaccurate. Consider using '#align map_ne_zero_iff_ne_one map_ne_zero_iff_ne_oneₓ'. -/
@@ -388,7 +388,7 @@ end GroupNormClass
 
 /- warning: map_pos_of_ne_one -> map_pos_of_ne_one is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)] (f : F) {x : α}, (Ne.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2) (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2) _inst_3)))) f x))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)] (f : F) {x : α}, (Ne.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2) (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2) _inst_3)))) f x))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommMonoid.{u2} β] [_inst_3 : GroupNormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2)] (f : F) {x : α}, (Ne.{succ u3} α x (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (InvOneClass.toOne.{u3} α (DivInvOneMonoid.toInvOneClass.{u3} α (DivisionMonoid.toDivInvOneMonoid.{u3} α (Group.toDivisionMonoid.{u3} α _inst_1))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2)))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2) (GroupNormClass.toGroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2) _inst_3))) f x))
 Case conversion may be inaccurate. Consider using '#align map_pos_of_ne_one map_pos_of_ne_oneₓ'. -/
@@ -442,7 +442,7 @@ class MulRingNormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing 
 
 /- warning: ring_seminorm_class.to_nonneg_hom_class -> RingSeminormClass.toNonnegHomClass is a dubious translation:
 lean 3 declaration is
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonUnitalNonAssocRing.{u2} α] [_inst_2 : LinearOrderedSemiring.{u3} β] [_inst_3 : RingSeminormClass.{u1, u2, u3} F α β _inst_1 (StrictOrderedSemiring.toOrderedSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))], NonnegHomClass.{u1, u2, u3} F α β (MulZeroClass.toHasZero.{u3} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β (StrictOrderedSemiring.toSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonUnitalNonAssocRing.{u2} α] [_inst_2 : LinearOrderedSemiring.{u3} β] [_inst_3 : RingSeminormClass.{u1, u2, u3} F α β _inst_1 (StrictOrderedSemiring.toOrderedSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))], NonnegHomClass.{u1, u2, u3} F α β (MulZeroClass.toHasZero.{u3} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β (StrictOrderedSemiring.toSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))))) (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))))
 but is expected to have type
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonUnitalNonAssocRing.{u2} α] [_inst_2 : LinearOrderedSemiring.{u3} β] [_inst_3 : RingSeminormClass.{u1, u2, u3} F α β _inst_1 (StrictOrderedSemiring.toOrderedSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))], NonnegHomClass.{u1, u2, u3} F α β (MonoidWithZero.toZero.{u3} β (Semiring.toMonoidWithZero.{u3} β (StrictOrderedSemiring.toSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (StrictOrderedSemiring.toPartialOrder.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))))
 Case conversion may be inaccurate. Consider using '#align ring_seminorm_class.to_nonneg_hom_class RingSeminormClass.toNonnegHomClassₓ'. -/
Diff
@@ -262,7 +262,7 @@ attribute [to_additive] GroupNormClass.toGroupSeminormClass
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : AddGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2], ZeroHomClass.{u1, u2, u3} F α β (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_1)))) (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.{u2}} {β : Type.{u3}} {_inst_1 : AddGroup.{u2} α} {_inst_2 : OrderedAddCommMonoid.{u3} β} [_inst_3 : AddGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2], ZeroHomClass.{u1, u2, u3} F α β (NegZeroClass.toZero.{u2} α (SubNegZeroMonoid.toNegZeroClass.{u2} α (SubtractionMonoid.toSubNegZeroMonoid.{u2} α (AddGroup.toSubtractionMonoid.{u2} α _inst_1)))) (AddMonoid.toZero.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : AddGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2], ZeroHomClass.{u1, u2, u3} F α β (NegZeroClass.toZero.{u2} α (SubNegZeroMonoid.toNegZeroClass.{u2} α (SubtractionMonoid.toSubNegZeroMonoid.{u2} α (AddGroup.toSubtractionMonoid.{u2} α _inst_1)))) (AddMonoid.toZero.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))
 Case conversion may be inaccurate. Consider using '#align add_group_seminorm_class.to_zero_hom_class AddGroupSeminormClass.toZeroHomClassₓ'. -/
 -- See note [lower instance priority]
 instance (priority := 100) AddGroupSeminormClass.toZeroHomClass [AddGroup α]
@@ -337,7 +337,7 @@ theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSemin
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)], NonnegHomClass.{u1, u2, u3} F α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : Group.{u2} α} {_inst_2 : LinearOrderedAddCommMonoid.{u3} β} [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)], NonnegHomClass.{u1, u2, u3} F α β (AddMonoid.toZero.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)], NonnegHomClass.{u1, u2, u3} F α β (AddMonoid.toZero.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))
 Case conversion may be inaccurate. Consider using '#align group_seminorm_class.to_nonneg_hom_class GroupSeminormClass.toNonnegHomClassₓ'. -/
 -- See note [lower instance priority]
 @[to_additive]
@@ -444,7 +444,7 @@ class MulRingNormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing 
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonUnitalNonAssocRing.{u2} α] [_inst_2 : LinearOrderedSemiring.{u3} β] [_inst_3 : RingSeminormClass.{u1, u2, u3} F α β _inst_1 (StrictOrderedSemiring.toOrderedSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))], NonnegHomClass.{u1, u2, u3} F α β (MulZeroClass.toHasZero.{u3} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β (StrictOrderedSemiring.toSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : NonUnitalNonAssocRing.{u2} α} {_inst_2 : LinearOrderedSemiring.{u3} β} [_inst_3 : RingSeminormClass.{u1, u2, u3} F α β _inst_1 (StrictOrderedSemiring.toOrderedSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))], NonnegHomClass.{u1, u2, u3} F α β (MonoidWithZero.toZero.{u3} β (Semiring.toMonoidWithZero.{u3} β (StrictOrderedSemiring.toSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (StrictOrderedSemiring.toPartialOrder.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonUnitalNonAssocRing.{u2} α] [_inst_2 : LinearOrderedSemiring.{u3} β] [_inst_3 : RingSeminormClass.{u1, u2, u3} F α β _inst_1 (StrictOrderedSemiring.toOrderedSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))], NonnegHomClass.{u1, u2, u3} F α β (MonoidWithZero.toZero.{u3} β (Semiring.toMonoidWithZero.{u3} β (StrictOrderedSemiring.toSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (StrictOrderedSemiring.toPartialOrder.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))))
 Case conversion may be inaccurate. Consider using '#align ring_seminorm_class.to_nonneg_hom_class RingSeminormClass.toNonnegHomClassₓ'. -/
 -- See note [out-param inheritance]
 -- See note [lower instance priority]
Diff
@@ -141,7 +141,7 @@ attribute [simp] map_nonneg
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : CommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f a) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{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 : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f b) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : CommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) a) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f a) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) b) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) b) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) b) (Semigroup.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) b) (CommSemigroup.toSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) b) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f b) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : CommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) a) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f a) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) b) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) b) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) b) (Semigroup.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) b) (CommSemigroup.toSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) b) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f b) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)))
 Case conversion may be inaccurate. Consider using '#align le_map_mul_map_div le_map_mul_map_divₓ'. -/
 @[to_additive]
 theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
@@ -154,7 +154,7 @@ theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [Submultiplicat
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : AddCommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : MulLEAddHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f a) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f b) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : AddCommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : MulLEAddHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) a) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f a) (HAdd.hAdd.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) b) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) b) (instHAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) b) (AddSemigroup.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) b) (AddCommSemigroup.toAddSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) b) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f b) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : AddCommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : MulLEAddHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) a) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f a) (HAdd.hAdd.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) b) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) b) (instHAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) b) (AddSemigroup.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) b) (AddCommSemigroup.toAddSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) b) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f b) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)))
 Case conversion may be inaccurate. Consider using '#align le_map_add_map_div le_map_add_map_divₓ'. -/
 @[to_additive]
 theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β] (f : F)
@@ -167,7 +167,7 @@ theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHom
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : CommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a c)) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{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 : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) b c)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : CommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (Semigroup.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (CommSemigroup.toSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : CommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (Semigroup.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (CommSemigroup.toSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.164 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)))
 Case conversion may be inaccurate. Consider using '#align le_map_div_mul_map_div le_map_div_mul_map_divₓ'. -/
 @[to_additive]
 theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
@@ -180,7 +180,7 @@ theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [Submultipl
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : AddCommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : MulLEAddHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a c)) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) b c)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : AddCommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : MulLEAddHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) (HAdd.hAdd.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (instHAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (AddSemigroup.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (AddCommSemigroup.toAddSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : AddCommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : MulLEAddHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) (HAdd.hAdd.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (instHAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (AddSemigroup.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (AddCommSemigroup.toAddSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)))
 Case conversion may be inaccurate. Consider using '#align le_map_div_add_map_div le_map_div_add_map_divₓ'. -/
 @[to_additive]
 theorem le_map_div_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β]
@@ -280,7 +280,7 @@ include α β
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), 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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f y))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), LE.le.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (Preorder.toLE.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (PartialOrder.toPreorder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (OrderedAddCommMonoid.toPartialOrder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (HAdd.hAdd.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (instHAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddZeroClass.toAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2))))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f y))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), LE.le.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (Preorder.toLE.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (PartialOrder.toPreorder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (OrderedAddCommMonoid.toPartialOrder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (HAdd.hAdd.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (instHAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddZeroClass.toAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f y))
 Case conversion may be inaccurate. Consider using '#align map_div_le_add map_div_le_addₓ'. -/
 @[to_additive]
 theorem map_div_le_add : f (x / y) ≤ f x + f y :=
@@ -294,7 +294,7 @@ theorem map_div_le_add : f (x / y) ≤ f x + f y :=
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x))
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x))
 Case conversion may be inaccurate. Consider using '#align map_div_rev map_div_revₓ'. -/
 @[to_additive]
 theorem map_div_rev : f (x / y) = f (y / x) := by rw [← inv_div, map_inv_eq_map]
@@ -305,7 +305,7 @@ theorem map_div_rev : f (x / y) = f (y / x) := by rw [← inv_div, map_inv_eq_ma
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), 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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f y) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x)))
 but is expected to have type
-  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), LE.le.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Preorder.toLE.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (PartialOrder.toPreorder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommMonoid.toPartialOrder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2))) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f x) (HAdd.hAdd.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toDiv.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1))) y x)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) (instHAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) (AddZeroClass.toAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) _inst_2))))) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f y) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toDiv.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1))) y x)))
+  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), LE.le.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Preorder.toLE.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (PartialOrder.toPreorder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toPartialOrder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f x) (HAdd.hAdd.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toDiv.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1))) y x)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (instHAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (AddZeroClass.toAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) _inst_2))))) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f y) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toDiv.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1))) y x)))
 Case conversion may be inaccurate. Consider using '#align le_map_add_map_div' le_map_add_map_div'ₓ'. -/
 @[to_additive]
 theorem le_map_add_map_div' : f x ≤ f y + f (y / x) := by
@@ -322,7 +322,7 @@ example [OrderedAddCommGroup β] : OrderedAddCommMonoid β :=
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommGroup.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommGroup.toPartialOrder.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))) (Abs.abs.{u3} β (Neg.toHasAbs.{u3} β (SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommGroup.toLinearOrder.{u3} β _inst_2))))) (HSub.hSub.{u3, u3, u3} β β β (instHSub.{u3} β (SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f x) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f y))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommGroup.{u2} β] [_inst_3 : GroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))) (Abs.abs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Neg.toHasAbs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (NegZeroClass.toNeg.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2))))))) (SemilatticeSup.toSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Lattice.toSemilatticeSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (DistribLattice.toLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (instDistribLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toLinearOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (HSub.hSub.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (instHSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubNegMonoid.toSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f x) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f y))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) x y))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommGroup.{u2} β] [_inst_3 : GroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommGroup.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))) (Abs.abs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Neg.toHasAbs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (NegZeroClass.toNeg.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))))))) (SemilatticeSup.toSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Lattice.toSemilatticeSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (DistribLattice.toLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (instDistribLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toLinearOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (HSub.hSub.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (instHSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (SubNegMonoid.toSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f x) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f y))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) x y))
 Case conversion may be inaccurate. Consider using '#align abs_sub_map_le_div abs_sub_map_le_divₓ'. -/
 @[to_additive]
 theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSeminormClass F α β]
@@ -362,7 +362,7 @@ include α β
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)))) f x) (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)))))))) (Eq.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))))))))
 but is expected to have type
-  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (Eq.{succ u1} α x (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (InvOneClass.toOne.{u1} α (DivInvOneMonoid.toInvOneClass.{u1} α (DivisionMonoid.toDivInvOneMonoid.{u1} α (Group.toDivisionMonoid.{u1} α _inst_1)))))))
+  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (Eq.{succ u1} α x (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (InvOneClass.toOne.{u1} α (DivInvOneMonoid.toInvOneClass.{u1} α (DivisionMonoid.toDivInvOneMonoid.{u1} α (Group.toDivisionMonoid.{u1} α _inst_1)))))))
 Case conversion may be inaccurate. Consider using '#align map_eq_zero_iff_eq_one map_eq_zero_iff_eq_oneₓ'. -/
 @[simp, to_additive]
 theorem map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 :=
@@ -376,7 +376,7 @@ theorem map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 :=
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Ne.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)))) f x) (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)))))))) (Ne.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))))))))
 but is expected to have type
-  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Ne.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (Ne.{succ u1} α x (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (InvOneClass.toOne.{u1} α (DivInvOneMonoid.toInvOneClass.{u1} α (DivisionMonoid.toDivInvOneMonoid.{u1} α (Group.toDivisionMonoid.{u1} α _inst_1)))))))
+  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Ne.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))))) (Ne.{succ u1} α x (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (InvOneClass.toOne.{u1} α (DivInvOneMonoid.toInvOneClass.{u1} α (DivisionMonoid.toDivInvOneMonoid.{u1} α (Group.toDivisionMonoid.{u1} α _inst_1)))))))
 Case conversion may be inaccurate. Consider using '#align map_ne_zero_iff_ne_one map_ne_zero_iff_ne_oneₓ'. -/
 @[to_additive]
 theorem map_ne_zero_iff_ne_one : f x ≠ 0 ↔ x ≠ 1 :=
@@ -390,7 +390,7 @@ end GroupNormClass
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)] (f : F) {x : α}, (Ne.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2) (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2) _inst_3)))) f x))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommMonoid.{u2} β] [_inst_3 : GroupNormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2)] (f : F) {x : α}, (Ne.{succ u3} α x (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (InvOneClass.toOne.{u3} α (DivInvOneMonoid.toInvOneClass.{u3} α (DivisionMonoid.toDivInvOneMonoid.{u3} α (Group.toDivisionMonoid.{u3} α _inst_1))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2)))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2) (GroupNormClass.toGroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2) _inst_3))) f x))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommMonoid.{u2} β] [_inst_3 : GroupNormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2)] (f : F) {x : α}, (Ne.{succ u3} α x (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (InvOneClass.toOne.{u3} α (DivInvOneMonoid.toInvOneClass.{u3} α (DivisionMonoid.toDivInvOneMonoid.{u3} α (Group.toDivisionMonoid.{u3} α _inst_1))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2)))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) x) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.229 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2)))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2) (GroupNormClass.toGroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2) _inst_3))) f x))
 Case conversion may be inaccurate. Consider using '#align map_pos_of_ne_one map_pos_of_ne_oneₓ'. -/
 @[to_additive]
 theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormClass F α β] (f : F)
Diff
@@ -322,7 +322,7 @@ example [OrderedAddCommGroup β] : OrderedAddCommMonoid β :=
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommGroup.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommGroup.toPartialOrder.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))) (Abs.abs.{u3} β (Neg.toHasAbs.{u3} β (SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommGroup.toLinearOrder.{u3} β _inst_2))))) (HSub.hSub.{u3, u3, u3} β β β (instHSub.{u3} β (SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f x) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f y))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommGroup.{u2} β] [_inst_3 : GroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))) (Abs.abs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Neg.toHasAbs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (NegZeroClass.toNeg.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2))))))) (SemilatticeSup.toHasSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Lattice.toSemilatticeSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (DistribLattice.toLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (instDistribLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toLinearOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (HSub.hSub.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (instHSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubNegMonoid.toSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f x) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f y))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) x y))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommGroup.{u2} β] [_inst_3 : GroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))) (Abs.abs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Neg.toHasAbs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (NegZeroClass.toNeg.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2))))))) (SemilatticeSup.toSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Lattice.toSemilatticeSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (DistribLattice.toLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (instDistribLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toLinearOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (HSub.hSub.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (instHSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubNegMonoid.toSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f x) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f y))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) x y))
 Case conversion may be inaccurate. Consider using '#align abs_sub_map_le_div abs_sub_map_le_divₓ'. -/
 @[to_additive]
 theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSeminormClass F α β]
Diff
@@ -141,7 +141,7 @@ attribute [simp] map_nonneg
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : CommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f a) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{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 : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f b) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : CommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) a) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f a) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) b) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) b) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) b) (Semigroup.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) b) (CommSemigroup.toSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) b) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f b) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : CommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) a) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f a) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) b) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) b) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) b) (Semigroup.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) b) (CommSemigroup.toSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) b) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f b) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)))
 Case conversion may be inaccurate. Consider using '#align le_map_mul_map_div le_map_mul_map_divₓ'. -/
 @[to_additive]
 theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
@@ -154,7 +154,7 @@ theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [Submultiplicat
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : AddCommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : MulLEAddHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f a) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f b) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : AddCommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : MulLEAddHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) a) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f a) (HAdd.hAdd.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) b) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) b) (instHAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) b) (AddSemigroup.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) b) (AddCommSemigroup.toAddSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) b) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f b) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : AddCommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : MulLEAddHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) a) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f a) (HAdd.hAdd.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) b) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) b) (instHAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) b) (AddSemigroup.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) b) (AddCommSemigroup.toAddSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) b) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f b) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)))
 Case conversion may be inaccurate. Consider using '#align le_map_add_map_div le_map_add_map_divₓ'. -/
 @[to_additive]
 theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β] (f : F)
@@ -167,7 +167,7 @@ theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHom
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : CommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a c)) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{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 : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (SubmultiplicativeHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (Semigroup.toHasMul.{u3} β (CommSemigroup.toSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) b c)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : CommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (Semigroup.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (CommSemigroup.toSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.158 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : CommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : SubmultiplicativeHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) (HMul.hMul.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (instHMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (Semigroup.toMul.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (CommSemigroup.toSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.160 : α) => β) _x) (SubmultiplicativeHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (Semigroup.toMul.{u2} β (CommSemigroup.toSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)))
 Case conversion may be inaccurate. Consider using '#align le_map_div_mul_map_div le_map_div_mul_map_divₓ'. -/
 @[to_additive]
 theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
@@ -180,7 +180,7 @@ theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [Submultipl
 lean 3 declaration is
   forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : AddCommSemigroup.{u3} β] [_inst_3 : LE.{u3} β] [_inst_4 : MulLEAddHomClass.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u3} β _inst_3 (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a c)) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) a b)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddSemigroup.toHasAdd.{u3} β (AddCommSemigroup.toAddSemigroup.{u3} β _inst_2)) _inst_3 _inst_4)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) b c)))
 but is expected to have type
-  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : AddCommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : MulLEAddHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) (HAdd.hAdd.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (instHAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (AddSemigroup.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (AddCommSemigroup.toAddSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.220 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)))
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : AddCommSemigroup.{u2} β] [_inst_3 : LE.{u2} β] [_inst_4 : MulLEAddHomClass.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3] (f : F) (a : α) (b : α) (c : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) _inst_3 (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a c)) (HAdd.hAdd.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (instHAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (AddSemigroup.toAdd.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (AddCommSemigroup.toAddSemigroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) _inst_2))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) a b)) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddSemigroup.toAdd.{u2} β (AddCommSemigroup.toAddSemigroup.{u2} β _inst_2)) _inst_3 _inst_4) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) b c)))
 Case conversion may be inaccurate. Consider using '#align le_map_div_add_map_div le_map_div_add_map_divₓ'. -/
 @[to_additive]
 theorem le_map_div_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β]
@@ -192,6 +192,7 @@ theorem le_map_div_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAd
 /-! ### Group (semi)norms -/
 
 
+#print AddGroupSeminormClass /-
 /-- `add_group_seminorm_class F α` states that `F` is a type of `β`-valued seminorms on the additive
 group `α`.
 
@@ -201,7 +202,9 @@ class AddGroupSeminormClass (F : Type _) (α β : outParam <| Type _) [AddGroup
   map_zero (f : F) : f 0 = 0
   map_neg_eq_map (f : F) (a : α) : f (-a) = f a
 #align add_group_seminorm_class AddGroupSeminormClass
+-/
 
+#print GroupSeminormClass /-
 /-- `group_seminorm_class F α` states that `F` is a type of `β`-valued seminorms on the group `α`.
 
 You should extend this class when you extend `group_seminorm`. -/
@@ -212,7 +215,9 @@ class GroupSeminormClass (F : Type _) (α β : outParam <| Type _) [Group α]
   map_inv_eq_map (f : F) (a : α) : f a⁻¹ = f a
 #align group_seminorm_class GroupSeminormClass
 #align add_group_seminorm_class AddGroupSeminormClass
+-/
 
+#print AddGroupNormClass /-
 /-- `add_group_norm_class F α` states that `F` is a type of `β`-valued norms on the additive group
 `α`.
 
@@ -221,7 +226,9 @@ class AddGroupNormClass (F : Type _) (α β : outParam <| Type _) [AddGroup α]
   [OrderedAddCommMonoid β] extends AddGroupSeminormClass F α β where
   eq_zero_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 0
 #align add_group_norm_class AddGroupNormClass
+-/
 
+#print GroupNormClass /-
 /-- `group_norm_class F α` states that `F` is a type of `β`-valued norms on the group `α`.
 
 You should extend this class when you extend `group_norm`. -/
@@ -231,6 +238,7 @@ class GroupNormClass (F : Type _) (α β : outParam <| Type _) [Group α]
   eq_one_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 1
 #align group_norm_class GroupNormClass
 #align add_group_norm_class AddGroupNormClass
+-/
 
 export AddGroupSeminormClass (map_neg_eq_map)
 
@@ -250,6 +258,12 @@ attribute [to_additive] GroupSeminormClass.toMulLeAddHomClass
 
 attribute [to_additive] GroupNormClass.toGroupSeminormClass
 
+/- warning: add_group_seminorm_class.to_zero_hom_class -> AddGroupSeminormClass.toZeroHomClass is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : AddGroup.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : AddGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2], ZeroHomClass.{u1, u2, u3} F α β (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (SubNegMonoid.toAddMonoid.{u2} α (AddGroup.toSubNegMonoid.{u2} α _inst_1)))) (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.{u2}} {β : Type.{u3}} {_inst_1 : AddGroup.{u2} α} {_inst_2 : OrderedAddCommMonoid.{u3} β} [_inst_3 : AddGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2], ZeroHomClass.{u1, u2, u3} F α β (NegZeroClass.toZero.{u2} α (SubNegZeroMonoid.toNegZeroClass.{u2} α (SubtractionMonoid.toSubNegZeroMonoid.{u2} α (AddGroup.toSubtractionMonoid.{u2} α _inst_1)))) (AddMonoid.toZero.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))
+Case conversion may be inaccurate. Consider using '#align add_group_seminorm_class.to_zero_hom_class AddGroupSeminormClass.toZeroHomClassₓ'. -/
 -- See note [lower instance priority]
 instance (priority := 100) AddGroupSeminormClass.toZeroHomClass [AddGroup α]
     [OrderedAddCommMonoid β] [AddGroupSeminormClass F α β] : ZeroHomClass F α β :=
@@ -262,6 +276,12 @@ variable [Group α] [OrderedAddCommMonoid β] [GroupSeminormClass F α β] (f :
 
 include α β
 
+/- warning: map_div_le_add -> map_div_le_add is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), 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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f y))
+but is expected to have type
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), LE.le.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (Preorder.toLE.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (PartialOrder.toPreorder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (OrderedAddCommMonoid.toPartialOrder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (HAdd.hAdd.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (instHAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddZeroClass.toAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2))))) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f y))
+Case conversion may be inaccurate. Consider using '#align map_div_le_add map_div_le_addₓ'. -/
 @[to_additive]
 theorem map_div_le_add : f (x / y) ≤ f x + f y :=
   by
@@ -270,11 +290,23 @@ theorem map_div_le_add : f (x / y) ≤ f x + f y :=
 #align map_div_le_add map_div_le_add
 #align map_sub_le_add map_sub_le_add
 
+/- warning: map_div_rev -> map_div_rev is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x))
+but is expected to have type
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y)) (FunLike.coe.{succ u1, succ u2, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x))
+Case conversion may be inaccurate. Consider using '#align map_div_rev map_div_revₓ'. -/
 @[to_additive]
 theorem map_div_rev : f (x / y) = f (y / x) := by rw [← inv_div, map_inv_eq_map]
 #align map_div_rev map_div_rev
 #align map_sub_rev map_sub_rev
 
+/- warning: le_map_add_map_div' -> le_map_add_map_div' is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), 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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f y) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) y x)))
+but is expected to have type
+  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) (x : α) (y : α), LE.le.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Preorder.toLE.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (PartialOrder.toPreorder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommMonoid.toPartialOrder.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2))) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f x) (HAdd.hAdd.{u3, u3, u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toDiv.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1))) y x)) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) (instHAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) (AddZeroClass.toAdd.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) (AddMonoid.toAddZeroClass.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) _inst_2))))) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f y) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3)) f (HDiv.hDiv.{u1, u1, u1} α α α (instHDiv.{u1} α (DivInvMonoid.toDiv.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1))) y x)))
+Case conversion may be inaccurate. Consider using '#align le_map_add_map_div' le_map_add_map_div'ₓ'. -/
 @[to_additive]
 theorem le_map_add_map_div' : f x ≤ f y + f (y / x) := by
   simpa only [add_comm, map_div_rev, div_mul_cancel'] using map_mul_le_add f (x / y) y
@@ -286,6 +318,12 @@ end GroupSeminormClass
 example [OrderedAddCommGroup β] : OrderedAddCommMonoid β :=
   inferInstance
 
+/- warning: abs_sub_map_le_div -> abs_sub_map_le_div is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommGroup.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommGroup.toPartialOrder.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))) (Abs.abs.{u3} β (Neg.toHasAbs.{u3} β (SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))) (SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommGroup.toLinearOrder.{u3} β _inst_2))))) (HSub.hSub.{u3, u3, u3} β β β (instHSub.{u3} β (SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f x) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f y))) (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2)))))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} β _inst_2))) _inst_3))) f (HDiv.hDiv.{u2, u2, u2} α α α (instHDiv.{u2} α (DivInvMonoid.toHasDiv.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))) x y))
+but is expected to have type
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommGroup.{u2} β] [_inst_3 : GroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))] (f : F) (x : α) (y : α), LE.le.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Preorder.toLE.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))) (Abs.abs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Neg.toHasAbs.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (NegZeroClass.toNeg.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2))))))) (SemilatticeSup.toHasSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Lattice.toSemilatticeSup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (DistribLattice.toLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (instDistribLattice.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toLinearOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (HSub.hSub.{u2, u2, u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) y) ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (instHSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (SubNegMonoid.toSub.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddGroup.toSubNegMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommGroup.toAddGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f x) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f y))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2)))))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} β (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} β _inst_2))) _inst_3)) f (HDiv.hDiv.{u3, u3, u3} α α α (instHDiv.{u3} α (DivInvMonoid.toDiv.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1))) x y))
+Case conversion may be inaccurate. Consider using '#align abs_sub_map_le_div abs_sub_map_le_divₓ'. -/
 @[to_additive]
 theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSeminormClass F α β]
     (f : F) (x y : α) : |f x - f y| ≤ f (x / y) :=
@@ -295,6 +333,12 @@ theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSemin
 #align abs_sub_map_le_div abs_sub_map_le_div
 #align abs_sub_map_le_sub abs_sub_map_le_sub
 
+/- warning: group_seminorm_class.to_nonneg_hom_class -> GroupSeminormClass.toNonnegHomClass is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)], NonnegHomClass.{u1, u2, u3} F α β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))
+but is expected to have type
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : Group.{u2} α} {_inst_2 : LinearOrderedAddCommMonoid.{u3} β} [_inst_3 : GroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)], NonnegHomClass.{u1, u2, u3} F α β (AddMonoid.toZero.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))
+Case conversion may be inaccurate. Consider using '#align group_seminorm_class.to_nonneg_hom_class GroupSeminormClass.toNonnegHomClassₓ'. -/
 -- See note [lower instance priority]
 @[to_additive]
 instance (priority := 100) GroupSeminormClass.toNonnegHomClass [Group α]
@@ -306,7 +350,7 @@ instance (priority := 100) GroupSeminormClass.toNonnegHomClass [Group α]
         rw [two_nsmul, ← map_one_eq_zero f, ← div_self' a]
         exact map_div_le_add _ _ _ }
 #align group_seminorm_class.to_nonneg_hom_class GroupSeminormClass.toNonnegHomClass
-#align add_group_seminorm_class.to_nonneg_hom_class AddGroupSeminormClass.to_nonneg_hom_class
+#align add_group_seminorm_class.to_nonneg_hom_class AddGroupSeminormClass.toNonnegHomClass
 
 section GroupNormClass
 
@@ -314,6 +358,12 @@ variable [Group α] [OrderedAddCommMonoid β] [GroupNormClass F α β] (f : F) {
 
 include α β
 
+/- warning: map_eq_zero_iff_eq_one -> map_eq_zero_iff_eq_one is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Eq.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)))) f x) (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)))))))) (Eq.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))))))))
+but is expected to have type
+  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (Eq.{succ u1} α x (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (InvOneClass.toOne.{u1} α (DivInvOneMonoid.toInvOneClass.{u1} α (DivisionMonoid.toDivInvOneMonoid.{u1} α (Group.toDivisionMonoid.{u1} α _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align map_eq_zero_iff_eq_one map_eq_zero_iff_eq_oneₓ'. -/
 @[simp, to_additive]
 theorem map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 :=
   ⟨eq_one_of_map_eq_zero _, by
@@ -322,6 +372,12 @@ theorem map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 :=
 #align map_eq_zero_iff_eq_one map_eq_zero_iff_eq_one
 #align map_eq_zero_iff_eq_zero map_eq_zero_iff_eq_zero
 
+/- warning: map_ne_zero_iff_ne_one -> map_ne_zero_iff_ne_one is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Ne.{succ u3} β (coeFn.{succ u1, max (succ u2) (succ u3)} F (fun (_x : F) => α -> β) (FunLike.hasCoeToFun.{succ u1, succ u2, succ u3} F α (fun (_x : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 _inst_2 _inst_3)))) f x) (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)))))))) (Ne.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1))))))))
+but is expected to have type
+  forall {F : Type.{u2}} {α : Type.{u1}} {β : Type.{u3}} [_inst_1 : Group.{u1} α] [_inst_2 : OrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u2, u1, u3} F α β _inst_1 _inst_2] (f : F) {x : α}, Iff (Ne.{succ u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (FunLike.coe.{succ u2, succ u1, succ u3} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u2, u1, u3} F α β (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (DivInvMonoid.toMonoid.{u1} α (Group.toDivInvMonoid.{u1} α _inst_1)))) (AddZeroClass.toAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_2))) (GroupSeminormClass.toMulLEAddHomClass.{u2, u1, u3} F α β _inst_1 _inst_2 (GroupNormClass.toGroupSeminormClass.{u2, u1, u3} F α β _inst_1 _inst_2 _inst_3))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommMonoid.toAddCommMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))))) (Ne.{succ u1} α x (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (InvOneClass.toOne.{u1} α (DivInvOneMonoid.toInvOneClass.{u1} α (DivisionMonoid.toDivInvOneMonoid.{u1} α (Group.toDivisionMonoid.{u1} α _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align map_ne_zero_iff_ne_one map_ne_zero_iff_ne_oneₓ'. -/
 @[to_additive]
 theorem map_ne_zero_iff_ne_one : f x ≠ 0 ↔ x ≠ 1 :=
   (map_eq_zero_iff_eq_one _).Not
@@ -330,6 +386,12 @@ theorem map_ne_zero_iff_ne_one : f x ≠ 0 ↔ x ≠ 1 :=
 
 end GroupNormClass
 
+/- warning: map_pos_of_ne_one -> map_pos_of_ne_one is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : Group.{u2} α] [_inst_2 : LinearOrderedAddCommMonoid.{u3} β] [_inst_3 : GroupNormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)] (f : F) {x : α}, (Ne.{succ u2} α x (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (MulOneClass.toHasOne.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : α) => β) (MulLEAddHomClass.toFunLike.{u1, u2, u3} F α β (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α (DivInvMonoid.toMonoid.{u2} α (Group.toDivInvMonoid.{u2} α _inst_1)))) (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2)))) (GroupSeminormClass.toMulLeAddHomClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2) (GroupNormClass.toGroupSeminormClass.{u1, u2, u3} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_2) _inst_3)))) f x))
+but is expected to have type
+  forall {F : Type.{u1}} {α : Type.{u3}} {β : Type.{u2}} [_inst_1 : Group.{u3} α] [_inst_2 : LinearOrderedAddCommMonoid.{u2} β] [_inst_3 : GroupNormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2)] (f : F) {x : α}, (Ne.{succ u3} α x (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (InvOneClass.toOne.{u3} α (DivInvOneMonoid.toInvOneClass.{u3} α (DivisionMonoid.toDivInvOneMonoid.{u3} α (Group.toDivisionMonoid.{u3} α _inst_1))))))) -> (LT.lt.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (Preorder.toLT.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (PartialOrder.toPreorder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (OrderedAddCommMonoid.toPartialOrder.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2)))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) x) _inst_2))))) (FunLike.coe.{succ u1, succ u3, succ u2} F α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Order.Hom.Basic._hyg.222 : α) => β) _x) (MulLEAddHomClass.toFunLike.{u1, u3, u2} F α β (MulOneClass.toMul.{u3} α (Monoid.toMulOneClass.{u3} α (DivInvMonoid.toMonoid.{u3} α (Group.toDivInvMonoid.{u3} α _inst_1)))) (AddZeroClass.toAdd.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2))))) (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2)))) (GroupSeminormClass.toMulLEAddHomClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2) (GroupNormClass.toGroupSeminormClass.{u1, u3, u2} F α β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} β _inst_2) _inst_3))) f x))
+Case conversion may be inaccurate. Consider using '#align map_pos_of_ne_one map_pos_of_ne_oneₓ'. -/
 @[to_additive]
 theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormClass F α β] (f : F)
     {x : α} (hx : x ≠ 1) : 0 < f x :=
@@ -340,20 +402,25 @@ theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormC
 /-! ### Ring (semi)norms -/
 
 
+#print RingSeminormClass /-
 /-- `ring_seminorm_class F α` states that `F` is a type of `β`-valued seminorms on the ring `α`.
 
 You should extend this class when you extend `ring_seminorm`. -/
 class RingSeminormClass (F : Type _) (α β : outParam <| Type _) [NonUnitalNonAssocRing α]
   [OrderedSemiring β] extends AddGroupSeminormClass F α β, SubmultiplicativeHomClass F α β
 #align ring_seminorm_class RingSeminormClass
+-/
 
+#print RingNormClass /-
 /-- `ring_norm_class F α` states that `F` is a type of `β`-valued norms on the ring `α`.
 
 You should extend this class when you extend `ring_norm`. -/
 class RingNormClass (F : Type _) (α β : outParam <| Type _) [NonUnitalNonAssocRing α]
   [OrderedSemiring β] extends RingSeminormClass F α β, AddGroupNormClass F α β
 #align ring_norm_class RingNormClass
+-/
 
+#print MulRingSeminormClass /-
 /-- `mul_ring_seminorm_class F α` states that `F` is a type of `β`-valued multiplicative seminorms
 on the ring `α`.
 
@@ -361,7 +428,9 @@ You should extend this class when you extend `mul_ring_seminorm`. -/
 class MulRingSeminormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing α]
   [OrderedSemiring β] extends AddGroupSeminormClass F α β, MonoidWithZeroHomClass F α β
 #align mul_ring_seminorm_class MulRingSeminormClass
+-/
 
+#print MulRingNormClass /-
 /-- `mul_ring_norm_class F α` states that `F` is a type of `β`-valued multiplicative norms on the
 ring `α`.
 
@@ -369,23 +438,34 @@ You should extend this class when you extend `mul_ring_norm`. -/
 class MulRingNormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing α]
   [OrderedSemiring β] extends MulRingSeminormClass F α β, AddGroupNormClass F α β
 #align mul_ring_norm_class MulRingNormClass
+-/
 
+/- warning: ring_seminorm_class.to_nonneg_hom_class -> RingSeminormClass.toNonnegHomClass is a dubious translation:
+lean 3 declaration is
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : NonUnitalNonAssocRing.{u2} α] [_inst_2 : LinearOrderedSemiring.{u3} β] [_inst_3 : RingSeminormClass.{u1, u2, u3} F α β _inst_1 (StrictOrderedSemiring.toOrderedSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))], NonnegHomClass.{u1, u2, u3} F α β (MulZeroClass.toHasZero.{u3} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β (StrictOrderedSemiring.toSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))))
+but is expected to have type
+  forall {F : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {_inst_1 : NonUnitalNonAssocRing.{u2} α} {_inst_2 : LinearOrderedSemiring.{u3} β} [_inst_3 : RingSeminormClass.{u1, u2, u3} F α β _inst_1 (StrictOrderedSemiring.toOrderedSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))], NonnegHomClass.{u1, u2, u3} F α β (MonoidWithZero.toZero.{u3} β (Semiring.toMonoidWithZero.{u3} β (StrictOrderedSemiring.toSemiring.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2)))) (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (StrictOrderedSemiring.toPartialOrder.{u3} β (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} β _inst_2))))
+Case conversion may be inaccurate. Consider using '#align ring_seminorm_class.to_nonneg_hom_class RingSeminormClass.toNonnegHomClassₓ'. -/
 -- See note [out-param inheritance]
 -- See note [lower instance priority]
 instance (priority := 100) RingSeminormClass.toNonnegHomClass [NonUnitalNonAssocRing α]
     [LinearOrderedSemiring β] [RingSeminormClass F α β] : NonnegHomClass F α β :=
-  AddGroupSeminormClass.to_nonneg_hom_class
+  AddGroupSeminormClass.toNonnegHomClass
 #align ring_seminorm_class.to_nonneg_hom_class RingSeminormClass.toNonnegHomClass
 
+#print MulRingSeminormClass.toRingSeminormClass /-
 -- See note [lower instance priority]
 instance (priority := 100) MulRingSeminormClass.toRingSeminormClass [NonAssocRing α]
     [OrderedSemiring β] [MulRingSeminormClass F α β] : RingSeminormClass F α β :=
   { ‹MulRingSeminormClass F α β› with map_mul_le_mul := fun f a b => (map_mul _ _ _).le }
 #align mul_ring_seminorm_class.to_ring_seminorm_class MulRingSeminormClass.toRingSeminormClass
+-/
 
+#print MulRingNormClass.toRingNormClass /-
 -- See note [lower instance priority]
 instance (priority := 100) MulRingNormClass.toRingNormClass [NonAssocRing α] [OrderedSemiring β]
     [MulRingNormClass F α β] : RingNormClass F α β :=
   { ‹MulRingNormClass F α β›, MulRingSeminormClass.toRingSeminormClass with }
 #align mul_ring_norm_class.to_ring_norm_class MulRingNormClass.toRingNormClass
+-/
 

Changes in mathlib4

mathlib3
mathlib4
chore: Rename mul-div cancellation lemmas (#11530)

Lemma names around cancellation of multiplication and division are a mess.

This PR renames a handful of them according to the following table (each big row contains the multiplicative statement, then the three rows contain the GroupWithZero lemma name, the Group lemma, the AddGroup lemma name).

| Statement | New name | Old name | |

Diff
@@ -124,14 +124,14 @@ variable [FunLike F α β]
 @[to_additive]
 theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
     (f : F) (a b : α) : f a ≤ f b * f (a / b) := by
-  simpa only [mul_comm, div_mul_cancel'] using map_mul_le_mul f (a / b) b
+  simpa only [mul_comm, div_mul_cancel] using map_mul_le_mul f (a / b) b
 #align le_map_mul_map_div le_map_mul_map_div
 #align le_map_add_map_sub le_map_add_map_sub
 
 @[to_additive existing]
 theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β] (f : F)
     (a b : α) : f a ≤ f b + f (a / b) := by
-  simpa only [add_comm, div_mul_cancel'] using map_mul_le_add f (a / b) b
+  simpa only [add_comm, div_mul_cancel] using map_mul_le_add f (a / b) b
 #align le_map_add_map_div le_map_add_map_div
 -- #align le_map_add_map_sub le_map_add_map_sub
 -- Porting note (#11215): TODO: `to_additive` clashes
@@ -252,7 +252,7 @@ theorem map_div_rev : f (x / y) = f (y / x) := by rw [← inv_div, map_inv_eq_ma
 
 @[to_additive]
 theorem le_map_add_map_div' : f x ≤ f y + f (y / x) := by
-  simpa only [add_comm, map_div_rev, div_mul_cancel'] using map_mul_le_add f (x / y) y
+  simpa only [add_comm, map_div_rev, div_mul_cancel] using map_mul_le_add f (x / y) y
 #align le_map_add_map_div' le_map_add_map_div'
 #align le_map_add_map_sub' le_map_add_map_sub'
 
chore: classify todo porting notes (#11216)

Classifies by adding issue number #11215 to porting notes claiming "TODO".

Diff
@@ -133,7 +133,8 @@ theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHom
     (a b : α) : f a ≤ f b + f (a / b) := by
   simpa only [add_comm, div_mul_cancel'] using map_mul_le_add f (a / b) b
 #align le_map_add_map_div le_map_add_map_div
--- #align le_map_add_map_sub le_map_add_map_sub -- Porting note: TODO: `to_additive` clashes
+-- #align le_map_add_map_sub le_map_add_map_sub
+-- Porting note (#11215): TODO: `to_additive` clashes
 
 @[to_additive]
 theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
@@ -147,7 +148,8 @@ theorem le_map_div_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAd
     (f : F) (a b c : α) : f (a / c) ≤ f (a / b) + f (b / c) := by
     simpa only [div_mul_div_cancel'] using map_mul_le_add f (a / b) (b / c)
 #align le_map_div_add_map_div le_map_div_add_map_div
--- #align le_map_sub_add_map_sub le_map_sub_add_map_sub -- Porting note: TODO: `to_additive` clashes
+-- #align le_map_sub_add_map_sub le_map_sub_add_map_sub
+-- Porting note (#11215): TODO: `to_additive` clashes
 
 namespace Mathlib.Meta.Positivity
 
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -218,11 +218,11 @@ export AddGroupNormClass (eq_zero_of_map_eq_zero)
 
 export GroupNormClass (eq_one_of_map_eq_zero)
 
-attribute [simp] map_one_eq_zero -- porting note: `to_additive` translation already exists
+attribute [simp] map_one_eq_zero -- Porting note: `to_additive` translation already exists
 
 attribute [simp] map_neg_eq_map
 
-attribute [simp] map_inv_eq_map -- porting note: `to_additive` translation already exists
+attribute [simp] map_inv_eq_map -- Porting note: `to_additive` translation already exists
 
 attribute [to_additive] GroupSeminormClass.toMulLEAddHomClass
 
chore(NonnegHomClass): rename map_nonneg to apply_nonneg (#10507)

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

Diff
@@ -77,7 +77,7 @@ variable {ι F α β γ δ : Type*}
 /-- `NonnegHomClass F α β` states that `F` is a type of nonnegative morphisms. -/
 class NonnegHomClass (F α β : Type*) [Zero β] [LE β] [FunLike F α β] : Prop where
   /-- the image of any element is non negative. -/
-  map_nonneg (f : F) : ∀ a, 0 ≤ f a
+  apply_nonneg (f : F) : ∀ a, 0 ≤ f a
 #align nonneg_hom_class NonnegHomClass
 
 /-- `SubadditiveHomClass F α β` states that `F` is a type of subadditive morphisms. -/
@@ -107,7 +107,7 @@ class NonarchimedeanHomClass (F α β : Type*) [Add α] [LinearOrder β] [FunLik
   map_add_le_max (f : F) : ∀ a b, f (a + b) ≤ max (f a) (f b)
 #align nonarchimedean_hom_class NonarchimedeanHomClass
 
-export NonnegHomClass (map_nonneg)
+export NonnegHomClass (apply_nonneg)
 
 export SubadditiveHomClass (map_add_le_add)
 
@@ -117,7 +117,7 @@ export MulLEAddHomClass (map_mul_le_add)
 
 export NonarchimedeanHomClass (map_add_le_max)
 
-attribute [simp] map_nonneg
+attribute [simp] apply_nonneg
 
 variable [FunLike F α β]
 
@@ -158,7 +158,7 @@ open Lean Meta Qq Function
 def evalMap : PositivityExt where eval {_ β} _ _ e := do
   let .app (.app _ f) a ← whnfR e
     | throwError "not ↑f · where f is of NonnegHomClass"
-  let pa ← mkAppOptM ``map_nonneg #[none, none, β, none, none, none, none, f, a]
+  let pa ← mkAppOptM ``apply_nonneg #[none, none, β, none, none, none, none, f, a]
   pure (.nonnegative pa)
 
 end Mathlib.Meta.Positivity
@@ -272,7 +272,7 @@ theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSemin
 instance (priority := 100) GroupSeminormClass.toNonnegHomClass [Group α]
     [LinearOrderedAddCommMonoid β] [GroupSeminormClass F α β] : NonnegHomClass F α β :=
   { ‹GroupSeminormClass F α β› with
-    map_nonneg := fun f a =>
+    apply_nonneg := fun f a =>
       (nsmul_nonneg_iff two_ne_zero).1 <| by
         rw [two_nsmul, ← map_one_eq_zero f, ← div_self' a]
         exact map_div_le_add _ _ _ }
@@ -302,7 +302,7 @@ end GroupNormClass
 @[to_additive]
 theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormClass F α β] (f : F)
     {x : α} (hx : x ≠ 1) : 0 < f x :=
-  (map_nonneg _ _).lt_of_ne <| ((map_ne_zero_iff_ne_one _).2 hx).symm
+  (apply_nonneg _ _).lt_of_ne <| ((map_ne_zero_iff_ne_one _).2 hx).symm
 #align map_pos_of_ne_one map_pos_of_ne_one
 #align map_pos_of_ne_zero map_pos_of_ne_zero
 
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
@@ -75,38 +75,34 @@ variable {ι F α β γ δ : Type*}
 /-! ### Basics -/
 
 /-- `NonnegHomClass F α β` states that `F` is a type of nonnegative morphisms. -/
-class NonnegHomClass (F : Type*) (α β : outParam (Type*)) [Zero β] [LE β] extends
-  DFunLike F α (fun _ => β) where
+class NonnegHomClass (F α β : Type*) [Zero β] [LE β] [FunLike F α β] : Prop where
   /-- the image of any element is non negative. -/
   map_nonneg (f : F) : ∀ a, 0 ≤ f a
 #align nonneg_hom_class NonnegHomClass
 
 /-- `SubadditiveHomClass F α β` states that `F` is a type of subadditive morphisms. -/
-class SubadditiveHomClass (F : Type*) (α β : outParam (Type*)) [Add α] [Add β] [LE β] extends
-  DFunLike F α (fun _ => β) where
+class SubadditiveHomClass (F α β : Type*) [Add α] [Add β] [LE β] [FunLike F α β] : Prop where
   /-- the image of a sum is less or equal than the sum of the images. -/
   map_add_le_add (f : F) : ∀ a b, f (a + b) ≤ f a + f b
 #align subadditive_hom_class SubadditiveHomClass
 
 /-- `SubmultiplicativeHomClass F α β` states that `F` is a type of submultiplicative morphisms. -/
 @[to_additive SubadditiveHomClass]
-class SubmultiplicativeHomClass (F : Type*) (α β : outParam (Type*)) [Mul α] [Mul β] [LE β]
-  extends DFunLike F α (fun _ => β) where
+class SubmultiplicativeHomClass (F α β : Type*) [Mul α] [Mul β] [LE β] [FunLike F α β] : Prop
+  where
   /-- the image of a product is less or equal than the product of the images. -/
   map_mul_le_mul (f : F) : ∀ a b, f (a * b) ≤ f a * f b
 #align submultiplicative_hom_class SubmultiplicativeHomClass
 
 /-- `MulLEAddHomClass F α β` states that `F` is a type of subadditive morphisms. -/
 @[to_additive SubadditiveHomClass]
-class MulLEAddHomClass (F : Type*) (α β : outParam (Type*)) [Mul α] [Add β] [LE β]
-  extends DFunLike F α (fun _ => β) where
+class MulLEAddHomClass (F α β : Type*) [Mul α] [Add β] [LE β] [FunLike F α β] : Prop where
   /-- the image of a product is less or equal than the sum of the images. -/
   map_mul_le_add (f : F) : ∀ a b, f (a * b) ≤ f a + f b
 #align mul_le_add_hom_class MulLEAddHomClass
 
 /-- `NonarchimedeanHomClass F α β` states that `F` is a type of non-archimedean morphisms. -/
-class NonarchimedeanHomClass (F : Type*) (α β : outParam (Type*)) [Add α] [LinearOrder β]
-  extends DFunLike F α (fun _ => β) where
+class NonarchimedeanHomClass (F α β : Type*) [Add α] [LinearOrder β] [FunLike F α β] : Prop where
   /-- the image of a sum is less or equal than the maximum of the images. -/
   map_add_le_max (f : F) : ∀ a b, f (a + b) ≤ max (f a) (f b)
 #align nonarchimedean_hom_class NonarchimedeanHomClass
@@ -123,6 +119,8 @@ export NonarchimedeanHomClass (map_add_le_max)
 
 attribute [simp] map_nonneg
 
+variable [FunLike F α β]
+
 @[to_additive]
 theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
     (f : F) (a b : α) : f a ≤ f b * f (a / b) := by
@@ -160,7 +158,7 @@ open Lean Meta Qq Function
 def evalMap : PositivityExt where eval {_ β} _ _ e := do
   let .app (.app _ f) a ← whnfR e
     | throwError "not ↑f · where f is of NonnegHomClass"
-  let pa ← mkAppOptM ``map_nonneg #[none, none, β, none, none, none, f, a]
+  let pa ← mkAppOptM ``map_nonneg #[none, none, β, none, none, none, none, f, a]
   pure (.nonnegative pa)
 
 end Mathlib.Meta.Positivity
@@ -172,8 +170,8 @@ end Mathlib.Meta.Positivity
 group `α`.
 
 You should extend this class when you extend `AddGroupSeminorm`. -/
-class AddGroupSeminormClass (F : Type*) (α β : outParam <| Type*) [AddGroup α]
-  [OrderedAddCommMonoid β] extends SubadditiveHomClass F α β where
+class AddGroupSeminormClass (F α β : Type*) [AddGroup α] [OrderedAddCommMonoid β] [FunLike F α β]
+  extends SubadditiveHomClass F α β : Prop where
   /-- The image of zero is zero. -/
   map_zero (f : F) : f 0 = 0
   /-- The map is invariant under negation of its argument. -/
@@ -184,8 +182,8 @@ class AddGroupSeminormClass (F : Type*) (α β : outParam <| Type*) [AddGroup α
 
 You should extend this class when you extend `GroupSeminorm`. -/
 @[to_additive]
-class GroupSeminormClass (F : Type*) (α β : outParam <| Type*) [Group α]
-  [OrderedAddCommMonoid β] extends MulLEAddHomClass F α β where
+class GroupSeminormClass (F α β : Type*) [Group α] [OrderedAddCommMonoid β] [FunLike F α β]
+  extends MulLEAddHomClass F α β : Prop where
   /-- The image of one is zero. -/
   map_one_eq_zero (f : F) : f 1 = 0
   /-- The map is invariant under inversion of its argument. -/
@@ -196,8 +194,8 @@ class GroupSeminormClass (F : Type*) (α β : outParam <| Type*) [Group α]
 `α`.
 
 You should extend this class when you extend `AddGroupNorm`. -/
-class AddGroupNormClass (F : Type*) (α β : outParam <| Type*) [AddGroup α]
-  [OrderedAddCommMonoid β] extends AddGroupSeminormClass F α β where
+class AddGroupNormClass (F α β : Type*) [AddGroup α] [OrderedAddCommMonoid β] [FunLike F α β]
+  extends AddGroupSeminormClass F α β : Prop where
   /-- The argument is zero if its image under the map is zero. -/
   eq_zero_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 0
 #align add_group_norm_class AddGroupNormClass
@@ -206,8 +204,8 @@ class AddGroupNormClass (F : Type*) (α β : outParam <| Type*) [AddGroup α]
 
 You should extend this class when you extend `GroupNorm`. -/
 @[to_additive]
-class GroupNormClass (F : Type*) (α β : outParam <| Type*) [Group α]
-  [OrderedAddCommMonoid β] extends GroupSeminormClass F α β where
+class GroupNormClass (F α β : Type*) [Group α] [OrderedAddCommMonoid β] [FunLike F α β]
+  extends GroupSeminormClass F α β : Prop where
   /-- The argument is one if its image under the map is zero. -/
   eq_one_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 1
 #align group_norm_class GroupNormClass
@@ -314,31 +312,35 @@ theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormC
 /-- `RingSeminormClass F α` states that `F` is a type of `β`-valued seminorms on the ring `α`.
 
 You should extend this class when you extend `RingSeminorm`. -/
-class RingSeminormClass (F : Type*) (α β : outParam <| Type*) [NonUnitalNonAssocRing α]
-  [OrderedSemiring β] extends AddGroupSeminormClass F α β, SubmultiplicativeHomClass F α β
+class RingSeminormClass (F α β : Type*) [NonUnitalNonAssocRing α] [OrderedSemiring β]
+  [FunLike F α β] extends AddGroupSeminormClass F α β, SubmultiplicativeHomClass F α β : Prop
 #align ring_seminorm_class RingSeminormClass
 
 /-- `RingNormClass F α` states that `F` is a type of `β`-valued norms on the ring `α`.
 
 You should extend this class when you extend `RingNorm`. -/
-class RingNormClass (F : Type*) (α β : outParam <| Type*) [NonUnitalNonAssocRing α]
-  [OrderedSemiring β] extends RingSeminormClass F α β, AddGroupNormClass F α β
+class RingNormClass (F α β : Type*) [NonUnitalNonAssocRing α] [OrderedSemiring β] [FunLike F α β]
+  extends RingSeminormClass F α β, AddGroupNormClass F α β : Prop
 #align ring_norm_class RingNormClass
 
 /-- `MulRingSeminormClass F α` states that `F` is a type of `β`-valued multiplicative seminorms
 on the ring `α`.
 
 You should extend this class when you extend `MulRingSeminorm`. -/
-class MulRingSeminormClass (F : Type*) (α β : outParam <| Type*) [NonAssocRing α]
-  [OrderedSemiring β] extends AddGroupSeminormClass F α β, MonoidWithZeroHomClass F α β
+class MulRingSeminormClass (F α β : Type*) [NonAssocRing α] [OrderedSemiring β] [FunLike F α β]
+  extends AddGroupSeminormClass F α β, MonoidWithZeroHomClass F α β : Prop
 #align mul_ring_seminorm_class MulRingSeminormClass
 
+-- Lower the priority of these instances since they require synthesizing an order structure.
+attribute [instance 50]
+  MulRingSeminormClass.toMonoidHomClass MulRingSeminormClass.toMonoidWithZeroHomClass
+
 /-- `MulRingNormClass F α` states that `F` is a type of `β`-valued multiplicative norms on the
 ring `α`.
 
 You should extend this class when you extend `MulRingNorm`. -/
-class MulRingNormClass (F : Type*) (α β : outParam <| Type*) [NonAssocRing α]
-  [OrderedSemiring β] extends MulRingSeminormClass F α β, AddGroupNormClass F α β
+class MulRingNormClass (F α β : Type*) [NonAssocRing α] [OrderedSemiring β] [FunLike F α β]
+  extends MulRingSeminormClass F α β, AddGroupNormClass F α β : Prop
 #align mul_ring_norm_class MulRingNormClass
 
 -- See note [out-param inheritance]
chore: reduce imports (#9830)

This uses the improved shake script from #9772 to reduce imports across mathlib. The corresponding noshake.json file has been added to #9772.

Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -3,8 +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.GroupPower.Order
+import Mathlib.Logic.Basic
 import Mathlib.Tactic.Positivity.Basic
 
 #align_import algebra.order.hom.basic from "leanprover-community/mathlib"@"28aa996fc6fb4317f0083c4e6daf79878d81be33"
refactor(*): abbreviation for non-dependent FunLike (#9833)

This follows up from #9785, which renamed FunLike to DFunLike, by introducing a new abbreviation FunLike F α β := DFunLike F α (fun _ => β), to make the non-dependent use of FunLike easier.

I searched for the pattern DFunLike.*fun and DFunLike.*λ in all files to replace expressions of the form DFunLike F α (fun _ => β) with FunLike F α β. I did this everywhere except for extends clauses for two reasons: it would conflict with #8386, and more importantly extends must directly refer to a structure with no unfolding of defs or abbrevs.

Diff
@@ -77,14 +77,14 @@ variable {ι F α β γ δ : Type*}
 
 /-- `NonnegHomClass F α β` states that `F` is a type of nonnegative morphisms. -/
 class NonnegHomClass (F : Type*) (α β : outParam (Type*)) [Zero β] [LE β] extends
-  DFunLike F α fun _ => β where
+  DFunLike F α (fun _ => β) where
   /-- the image of any element is non negative. -/
   map_nonneg (f : F) : ∀ a, 0 ≤ f a
 #align nonneg_hom_class NonnegHomClass
 
 /-- `SubadditiveHomClass F α β` states that `F` is a type of subadditive morphisms. -/
 class SubadditiveHomClass (F : Type*) (α β : outParam (Type*)) [Add α] [Add β] [LE β] extends
-  DFunLike F α fun _ => β where
+  DFunLike F α (fun _ => β) where
   /-- the image of a sum is less or equal than the sum of the images. -/
   map_add_le_add (f : F) : ∀ a b, f (a + b) ≤ f a + f b
 #align subadditive_hom_class SubadditiveHomClass
@@ -92,7 +92,7 @@ class SubadditiveHomClass (F : Type*) (α β : outParam (Type*)) [Add α] [Add 
 /-- `SubmultiplicativeHomClass F α β` states that `F` is a type of submultiplicative morphisms. -/
 @[to_additive SubadditiveHomClass]
 class SubmultiplicativeHomClass (F : Type*) (α β : outParam (Type*)) [Mul α] [Mul β] [LE β]
-  extends DFunLike F α fun _ => β where
+  extends DFunLike F α (fun _ => β) where
   /-- the image of a product is less or equal than the product of the images. -/
   map_mul_le_mul (f : F) : ∀ a b, f (a * b) ≤ f a * f b
 #align submultiplicative_hom_class SubmultiplicativeHomClass
@@ -100,14 +100,14 @@ class SubmultiplicativeHomClass (F : Type*) (α β : outParam (Type*)) [Mul α]
 /-- `MulLEAddHomClass F α β` states that `F` is a type of subadditive morphisms. -/
 @[to_additive SubadditiveHomClass]
 class MulLEAddHomClass (F : Type*) (α β : outParam (Type*)) [Mul α] [Add β] [LE β]
-  extends DFunLike F α fun _ => β where
+  extends DFunLike F α (fun _ => β) where
   /-- the image of a product is less or equal than the sum of the images. -/
   map_mul_le_add (f : F) : ∀ a b, f (a * b) ≤ f a + f b
 #align mul_le_add_hom_class MulLEAddHomClass
 
 /-- `NonarchimedeanHomClass F α β` states that `F` is a type of non-archimedean morphisms. -/
 class NonarchimedeanHomClass (F : Type*) (α β : outParam (Type*)) [Add α] [LinearOrder β]
-  extends DFunLike F α fun _ => β where
+  extends DFunLike F α (fun _ => β) where
   /-- the image of a sum is less or equal than the maximum of the images. -/
   map_add_le_max (f : F) : ∀ a b, f (a + b) ≤ max (f a) (f b)
 #align nonarchimedean_hom_class NonarchimedeanHomClass
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
@@ -77,14 +77,14 @@ variable {ι F α β γ δ : Type*}
 
 /-- `NonnegHomClass F α β` states that `F` is a type of nonnegative morphisms. -/
 class NonnegHomClass (F : Type*) (α β : outParam (Type*)) [Zero β] [LE β] extends
-  FunLike F α fun _ => β where
+  DFunLike F α fun _ => β where
   /-- the image of any element is non negative. -/
   map_nonneg (f : F) : ∀ a, 0 ≤ f a
 #align nonneg_hom_class NonnegHomClass
 
 /-- `SubadditiveHomClass F α β` states that `F` is a type of subadditive morphisms. -/
 class SubadditiveHomClass (F : Type*) (α β : outParam (Type*)) [Add α] [Add β] [LE β] extends
-  FunLike F α fun _ => β where
+  DFunLike F α fun _ => β where
   /-- the image of a sum is less or equal than the sum of the images. -/
   map_add_le_add (f : F) : ∀ a b, f (a + b) ≤ f a + f b
 #align subadditive_hom_class SubadditiveHomClass
@@ -92,7 +92,7 @@ class SubadditiveHomClass (F : Type*) (α β : outParam (Type*)) [Add α] [Add 
 /-- `SubmultiplicativeHomClass F α β` states that `F` is a type of submultiplicative morphisms. -/
 @[to_additive SubadditiveHomClass]
 class SubmultiplicativeHomClass (F : Type*) (α β : outParam (Type*)) [Mul α] [Mul β] [LE β]
-  extends FunLike F α fun _ => β where
+  extends DFunLike F α fun _ => β where
   /-- the image of a product is less or equal than the product of the images. -/
   map_mul_le_mul (f : F) : ∀ a b, f (a * b) ≤ f a * f b
 #align submultiplicative_hom_class SubmultiplicativeHomClass
@@ -100,14 +100,14 @@ class SubmultiplicativeHomClass (F : Type*) (α β : outParam (Type*)) [Mul α]
 /-- `MulLEAddHomClass F α β` states that `F` is a type of subadditive morphisms. -/
 @[to_additive SubadditiveHomClass]
 class MulLEAddHomClass (F : Type*) (α β : outParam (Type*)) [Mul α] [Add β] [LE β]
-  extends FunLike F α fun _ => β where
+  extends DFunLike F α fun _ => β where
   /-- the image of a product is less or equal than the sum of the images. -/
   map_mul_le_add (f : F) : ∀ a b, f (a * b) ≤ f a + f b
 #align mul_le_add_hom_class MulLEAddHomClass
 
 /-- `NonarchimedeanHomClass F α β` states that `F` is a type of non-archimedean morphisms. -/
 class NonarchimedeanHomClass (F : Type*) (α β : outParam (Type*)) [Add α] [LinearOrder β]
-  extends FunLike F α fun _ => β where
+  extends DFunLike F α fun _ => β where
   /-- the image of a sum is less or equal than the maximum of the images. -/
   map_add_le_max (f : F) : ∀ a b, f (a + b) ≤ max (f a) (f b)
 #align nonarchimedean_hom_class NonarchimedeanHomClass
@@ -157,7 +157,7 @@ namespace Mathlib.Meta.Positivity
 open Lean Meta Qq Function
 
 /-- Extension for the `positivity` tactic: nonnegative maps take nonnegative values. -/
-@[positivity FunLike.coe _ _]
+@[positivity DFunLike.coe _ _]
 def evalMap : PositivityExt where eval {_ β} _ _ e := do
   let .app (.app _ f) a ← whnfR e
     | throwError "not ↑f · where f is of NonnegHomClass"
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
@@ -71,19 +71,19 @@ There are two workarounds:
 
 open Function
 
-variable {ι F α β γ δ : Type _}
+variable {ι F α β γ δ : Type*}
 
 /-! ### Basics -/
 
 /-- `NonnegHomClass F α β` states that `F` is a type of nonnegative morphisms. -/
-class NonnegHomClass (F : Type _) (α β : outParam (Type _)) [Zero β] [LE β] extends
+class NonnegHomClass (F : Type*) (α β : outParam (Type*)) [Zero β] [LE β] extends
   FunLike F α fun _ => β where
   /-- the image of any element is non negative. -/
   map_nonneg (f : F) : ∀ a, 0 ≤ f a
 #align nonneg_hom_class NonnegHomClass
 
 /-- `SubadditiveHomClass F α β` states that `F` is a type of subadditive morphisms. -/
-class SubadditiveHomClass (F : Type _) (α β : outParam (Type _)) [Add α] [Add β] [LE β] extends
+class SubadditiveHomClass (F : Type*) (α β : outParam (Type*)) [Add α] [Add β] [LE β] extends
   FunLike F α fun _ => β where
   /-- the image of a sum is less or equal than the sum of the images. -/
   map_add_le_add (f : F) : ∀ a b, f (a + b) ≤ f a + f b
@@ -91,7 +91,7 @@ class SubadditiveHomClass (F : Type _) (α β : outParam (Type _)) [Add α] [Add
 
 /-- `SubmultiplicativeHomClass F α β` states that `F` is a type of submultiplicative morphisms. -/
 @[to_additive SubadditiveHomClass]
-class SubmultiplicativeHomClass (F : Type _) (α β : outParam (Type _)) [Mul α] [Mul β] [LE β]
+class SubmultiplicativeHomClass (F : Type*) (α β : outParam (Type*)) [Mul α] [Mul β] [LE β]
   extends FunLike F α fun _ => β where
   /-- the image of a product is less or equal than the product of the images. -/
   map_mul_le_mul (f : F) : ∀ a b, f (a * b) ≤ f a * f b
@@ -99,14 +99,14 @@ class SubmultiplicativeHomClass (F : Type _) (α β : outParam (Type _)) [Mul α
 
 /-- `MulLEAddHomClass F α β` states that `F` is a type of subadditive morphisms. -/
 @[to_additive SubadditiveHomClass]
-class MulLEAddHomClass (F : Type _) (α β : outParam (Type _)) [Mul α] [Add β] [LE β]
+class MulLEAddHomClass (F : Type*) (α β : outParam (Type*)) [Mul α] [Add β] [LE β]
   extends FunLike F α fun _ => β where
   /-- the image of a product is less or equal than the sum of the images. -/
   map_mul_le_add (f : F) : ∀ a b, f (a * b) ≤ f a + f b
 #align mul_le_add_hom_class MulLEAddHomClass
 
 /-- `NonarchimedeanHomClass F α β` states that `F` is a type of non-archimedean morphisms. -/
-class NonarchimedeanHomClass (F : Type _) (α β : outParam (Type _)) [Add α] [LinearOrder β]
+class NonarchimedeanHomClass (F : Type*) (α β : outParam (Type*)) [Add α] [LinearOrder β]
   extends FunLike F α fun _ => β where
   /-- the image of a sum is less or equal than the maximum of the images. -/
   map_add_le_max (f : F) : ∀ a b, f (a + b) ≤ max (f a) (f b)
@@ -173,7 +173,7 @@ end Mathlib.Meta.Positivity
 group `α`.
 
 You should extend this class when you extend `AddGroupSeminorm`. -/
-class AddGroupSeminormClass (F : Type _) (α β : outParam <| Type _) [AddGroup α]
+class AddGroupSeminormClass (F : Type*) (α β : outParam <| Type*) [AddGroup α]
   [OrderedAddCommMonoid β] extends SubadditiveHomClass F α β where
   /-- The image of zero is zero. -/
   map_zero (f : F) : f 0 = 0
@@ -185,7 +185,7 @@ class AddGroupSeminormClass (F : Type _) (α β : outParam <| Type _) [AddGroup
 
 You should extend this class when you extend `GroupSeminorm`. -/
 @[to_additive]
-class GroupSeminormClass (F : Type _) (α β : outParam <| Type _) [Group α]
+class GroupSeminormClass (F : Type*) (α β : outParam <| Type*) [Group α]
   [OrderedAddCommMonoid β] extends MulLEAddHomClass F α β where
   /-- The image of one is zero. -/
   map_one_eq_zero (f : F) : f 1 = 0
@@ -197,7 +197,7 @@ class GroupSeminormClass (F : Type _) (α β : outParam <| Type _) [Group α]
 `α`.
 
 You should extend this class when you extend `AddGroupNorm`. -/
-class AddGroupNormClass (F : Type _) (α β : outParam <| Type _) [AddGroup α]
+class AddGroupNormClass (F : Type*) (α β : outParam <| Type*) [AddGroup α]
   [OrderedAddCommMonoid β] extends AddGroupSeminormClass F α β where
   /-- The argument is zero if its image under the map is zero. -/
   eq_zero_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 0
@@ -207,7 +207,7 @@ class AddGroupNormClass (F : Type _) (α β : outParam <| Type _) [AddGroup α]
 
 You should extend this class when you extend `GroupNorm`. -/
 @[to_additive]
-class GroupNormClass (F : Type _) (α β : outParam <| Type _) [Group α]
+class GroupNormClass (F : Type*) (α β : outParam <| Type*) [Group α]
   [OrderedAddCommMonoid β] extends GroupSeminormClass F α β where
   /-- The argument is one if its image under the map is zero. -/
   eq_one_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 1
@@ -315,14 +315,14 @@ theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormC
 /-- `RingSeminormClass F α` states that `F` is a type of `β`-valued seminorms on the ring `α`.
 
 You should extend this class when you extend `RingSeminorm`. -/
-class RingSeminormClass (F : Type _) (α β : outParam <| Type _) [NonUnitalNonAssocRing α]
+class RingSeminormClass (F : Type*) (α β : outParam <| Type*) [NonUnitalNonAssocRing α]
   [OrderedSemiring β] extends AddGroupSeminormClass F α β, SubmultiplicativeHomClass F α β
 #align ring_seminorm_class RingSeminormClass
 
 /-- `RingNormClass F α` states that `F` is a type of `β`-valued norms on the ring `α`.
 
 You should extend this class when you extend `RingNorm`. -/
-class RingNormClass (F : Type _) (α β : outParam <| Type _) [NonUnitalNonAssocRing α]
+class RingNormClass (F : Type*) (α β : outParam <| Type*) [NonUnitalNonAssocRing α]
   [OrderedSemiring β] extends RingSeminormClass F α β, AddGroupNormClass F α β
 #align ring_norm_class RingNormClass
 
@@ -330,7 +330,7 @@ class RingNormClass (F : Type _) (α β : outParam <| Type _) [NonUnitalNonAssoc
 on the ring `α`.
 
 You should extend this class when you extend `MulRingSeminorm`. -/
-class MulRingSeminormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing α]
+class MulRingSeminormClass (F : Type*) (α β : outParam <| Type*) [NonAssocRing α]
   [OrderedSemiring β] extends AddGroupSeminormClass F α β, MonoidWithZeroHomClass F α β
 #align mul_ring_seminorm_class MulRingSeminormClass
 
@@ -338,7 +338,7 @@ class MulRingSeminormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRi
 ring `α`.
 
 You should extend this class when you extend `MulRingNorm`. -/
-class MulRingNormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing α]
+class MulRingNormClass (F : Type*) (α β : outParam <| Type*) [NonAssocRing α]
   [OrderedSemiring β] extends MulRingSeminormClass F α β, AddGroupNormClass F α β
 #align mul_ring_norm_class MulRingNormClass
 
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
@@ -2,16 +2,13 @@
 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.basic
-! leanprover-community/mathlib commit 28aa996fc6fb4317f0083c4e6daf79878d81be33
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 
 import Mathlib.Algebra.GroupPower.Order
 import Mathlib.Tactic.Positivity.Basic
 
+#align_import algebra.order.hom.basic from "leanprover-community/mathlib"@"28aa996fc6fb4317f0083c4e6daf79878d81be33"
+
 /-!
 # Algebraic order homomorphism classes
 
feat: assorted positivity extensions (#3907)

Positivity extensions for NonnegHomClass (this includes AbsoluteValue and Seminorm), IsAbsoluteValue, norm, the NNReal-to-Real coercion, factorials, square roots, distance (in a metric space), and diameter.

I tried to do these "properly" using Qq but I hit various errors I couldn't fix -- see https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Qq.20doesn't.20know.20that.20two.20things.20have.20the.20same.20type for some examples.

cc @dwrensha

Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>

Diff
@@ -10,6 +10,7 @@ Authors: Yaël Dillies
 -/
 
 import Mathlib.Algebra.GroupPower.Order
+import Mathlib.Tactic.Positivity.Basic
 
 /-!
 # Algebraic order homomorphism classes
@@ -154,17 +155,19 @@ theorem le_map_div_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAd
 #align le_map_div_add_map_div le_map_div_add_map_div
 -- #align le_map_sub_add_map_sub le_map_sub_add_map_sub -- Porting note: TODO: `to_additive` clashes
 
---namespace Mathlib.Meta.Positivity
+namespace Mathlib.Meta.Positivity
 
---Porting note: tactic extension commented as decided in the weekly porting meeting
--- /-- Extension for the `positivity` tactic: nonnegative maps take nonnegative values. -/
--- @[positivity _ _]
--- unsafe def positivity_map : expr → tactic strictness
---   | expr.app (quote.1 ⇑(%%f)) (quote.1 (%%ₓa)) => nonnegative <$> mk_app `` map_nonneg [f, a]
---   | _ => failed
--- #align tactic.positivity_map tactic.positivity_map
+open Lean Meta Qq Function
 
---end Mathlib.Meta.Positivity
+/-- Extension for the `positivity` tactic: nonnegative maps take nonnegative values. -/
+@[positivity FunLike.coe _ _]
+def evalMap : PositivityExt where eval {_ β} _ _ e := do
+  let .app (.app _ f) a ← whnfR e
+    | throwError "not ↑f · where f is of NonnegHomClass"
+  let pa ← mkAppOptM ``map_nonneg #[none, none, β, none, none, none, f, a]
+  pure (.nonnegative pa)
+
+end Mathlib.Meta.Positivity
 
 /-! ### Group (semi)norms -/
 
chore: drop some unnecessary imports (#3869)
Diff
@@ -9,8 +9,7 @@ Authors: Yaël Dillies
 ! if you have ported upstream changes.
 -/
 
-import Mathlib.Tactic.Positivity
-import Mathlib.Data.FunLike.Basic
+import Mathlib.Algebra.GroupPower.Order
 
 /-!
 # Algebraic order homomorphism classes
chore: bye-bye, solo bys! (#3825)

This PR puts, with one exception, every single remaining by that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh. The exception is when the by begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.

Essentially this is s/\n *by$/ by/g, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated bys".

Diff
@@ -241,8 +241,7 @@ section GroupSeminormClass
 variable [Group α] [OrderedAddCommMonoid β] [GroupSeminormClass F α β] (f : F) (x y : α)
 
 @[to_additive]
-theorem map_div_le_add : f (x / y) ≤ f x + f y :=
-  by
+theorem map_div_le_add : f (x / y) ≤ f x + f y := by
   rw [div_eq_mul_inv, ← map_inv_eq_map f y]
   exact map_mul_le_add _ _ _
 #align map_div_le_add map_div_le_add
@@ -266,8 +265,7 @@ example [OrderedAddCommGroup β] : OrderedAddCommMonoid β :=
 
 @[to_additive]
 theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSeminormClass F α β]
-    (f : F) (x y : α) : |f x - f y| ≤ f (x / y) :=
-  by
+    (f : F) (x y : α) : |f x - f y| ≤ f (x / y) := by
   rw [abs_sub_le_iff, sub_le_iff_le_add', sub_le_iff_le_add']
   exact ⟨le_map_add_map_div _ _ _, le_map_add_map_div' _ _ _⟩
 #align abs_sub_map_le_div abs_sub_map_le_div
@@ -279,8 +277,7 @@ instance (priority := 100) GroupSeminormClass.toNonnegHomClass [Group α]
     [LinearOrderedAddCommMonoid β] [GroupSeminormClass F α β] : NonnegHomClass F α β :=
   { ‹GroupSeminormClass F α β› with
     map_nonneg := fun f a =>
-      (nsmul_nonneg_iff two_ne_zero).1 <|
-        by
+      (nsmul_nonneg_iff two_ne_zero).1 <| by
         rw [two_nsmul, ← map_one_eq_zero f, ← div_self' a]
         exact map_div_le_add _ _ _ }
 #align group_seminorm_class.to_nonneg_hom_class GroupSeminormClass.toNonnegHomClass
chore: bump to nightly-2023-04-11 (#3139)
Diff
@@ -231,8 +231,8 @@ attribute [simp] map_inv_eq_map -- porting note: `to_additive` translation alrea
 attribute [to_additive] GroupSeminormClass.toMulLEAddHomClass
 
 -- See note [lower instance priority]
-instance (priority := 100) AddGroupSeminormClass.toZeroHomClass {_ : AddGroup α}
-    {_ : OrderedAddCommMonoid β} [AddGroupSeminormClass F α β] : ZeroHomClass F α β :=
+instance (priority := 100) AddGroupSeminormClass.toZeroHomClass [AddGroup α]
+    [OrderedAddCommMonoid β] [AddGroupSeminormClass F α β] : ZeroHomClass F α β :=
   { ‹AddGroupSeminormClass F α β› with }
 #align add_group_seminorm_class.to_zero_hom_class AddGroupSeminormClass.toZeroHomClass
 
@@ -275,8 +275,8 @@ theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSemin
 
 -- See note [lower instance priority]
 @[to_additive]
-instance (priority := 100) GroupSeminormClass.toNonnegHomClass {_ : Group α}
-    {_ : LinearOrderedAddCommMonoid β} [GroupSeminormClass F α β] : NonnegHomClass F α β :=
+instance (priority := 100) GroupSeminormClass.toNonnegHomClass [Group α]
+    [LinearOrderedAddCommMonoid β] [GroupSeminormClass F α β] : NonnegHomClass F α β :=
   { ‹GroupSeminormClass F α β› with
     map_nonneg := fun f a =>
       (nsmul_nonneg_iff two_ne_zero).1 <|
@@ -348,19 +348,19 @@ class MulRingNormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing 
 
 -- See note [out-param inheritance]
 -- See note [lower instance priority]
-instance (priority := 100) RingSeminormClass.toNonnegHomClass {_ : NonUnitalNonAssocRing α}
-    {_ : LinearOrderedSemiring β} [RingSeminormClass F α β] : NonnegHomClass F α β :=
+instance (priority := 100) RingSeminormClass.toNonnegHomClass [NonUnitalNonAssocRing α]
+    [LinearOrderedSemiring β] [RingSeminormClass F α β] : NonnegHomClass F α β :=
   AddGroupSeminormClass.toNonnegHomClass
 #align ring_seminorm_class.to_nonneg_hom_class RingSeminormClass.toNonnegHomClass
 
 -- See note [lower instance priority]
-instance (priority := 100) MulRingSeminormClass.toRingSeminormClass {_ : NonAssocRing α}
-    {_ : OrderedSemiring β} [MulRingSeminormClass F α β] : RingSeminormClass F α β :=
+instance (priority := 100) MulRingSeminormClass.toRingSeminormClass [NonAssocRing α]
+    [OrderedSemiring β] [MulRingSeminormClass F α β] : RingSeminormClass F α β :=
   { ‹MulRingSeminormClass F α β› with map_mul_le_mul := fun f a b => (map_mul _ _ _).le }
 #align mul_ring_seminorm_class.to_ring_seminorm_class MulRingSeminormClass.toRingSeminormClass
 
 -- See note [lower instance priority]
-instance (priority := 100) MulRingNormClass.toRingNormClass {_ : NonAssocRing α}
-    {_ : OrderedSemiring β} [MulRingNormClass F α β] : RingNormClass F α β :=
+instance (priority := 100) MulRingNormClass.toRingNormClass [NonAssocRing α]
+    [OrderedSemiring β] [MulRingNormClass F α β] : RingNormClass F α β :=
   { ‹MulRingNormClass F α β›, MulRingSeminormClass.toRingSeminormClass with }
 #align mul_ring_norm_class.to_ring_norm_class MulRingNormClass.toRingNormClass
feat: add to_additive linter checking whether additive decl exists (#1881)
  • Force the user to specify whether the additive declaration already exists.
  • Will raise a linter error if the user specified it wrongly
  • Requested on Zulip
Diff
@@ -134,7 +134,7 @@ theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [Submultiplicat
 #align le_map_mul_map_div le_map_mul_map_div
 #align le_map_add_map_sub le_map_add_map_sub
 
-@[to_additive]
+@[to_additive existing]
 theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β] (f : F)
     (a b : α) : f a ≤ f b + f (a / b) := by
   simpa only [add_comm, div_mul_cancel'] using map_mul_le_add f (a / b) b
@@ -148,7 +148,7 @@ theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [Submultipl
 #align le_map_div_mul_map_div le_map_div_mul_map_div
 #align le_map_sub_add_map_sub le_map_sub_add_map_sub
 
-@[to_additive]
+@[to_additive existing]
 theorem le_map_div_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β]
     (f : F) (a b c : α) : f (a / c) ≤ f (a / b) + f (b / c) := by
     simpa only [div_mul_div_cancel'] using map_mul_le_add f (a / b) (b / c)
forward port changes to Algebra.Order.Hom.Basic (#2401)

This forward ports changes to this file from [mathlib3#16919](https://github.com/leanprover-community/mathlib/pull/16919). This does not address the other files in that PR, but #1238 is open to address those. This is being PR'ed separately so that work on Analysis.Normed.Group.Seminorm can continue (#2400).

Diff
@@ -4,7 +4,7 @@ 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.basic
-! leanprover-community/mathlib commit 70d50ecfd4900dd6d328da39ab7ebd516abe4025
+! leanprover-community/mathlib commit 28aa996fc6fb4317f0083c4e6daf79878d81be33
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -19,21 +19,65 @@ This file defines hom classes for common properties at the intersection of order
 
 ## Typeclasses
 
+Basic typeclasses
 * `NonnegHomClass`: Homs are nonnegative: `∀ f a, 0 ≤ f a`
 * `SubadditiveHomClass`: Homs are subadditive: `∀ f a b, f (a + b) ≤ f a + f b`
 * `SubmultiplicativeHomClass`: Homs are submultiplicative: `∀ f a b, f (a * b) ≤ f a * f b`
 * `MulLEAddHomClass`: `∀ f a b, f (a * b) ≤ f a + f b`
 * `NonarchimedeanHomClass`: `∀ a b, f (a + b) ≤ max (f a) (f b)`
 
+Group norms
+* `AddGroupSeminormClass`: Homs are nonnegative, subadditive, even and preserve zero.
+* `GroupSeminormClass`: Homs are nonnegative, respect `f (a * b) ≤ f a + f b`, `f a⁻¹ = f a` and
+  preserve zero.
+* `AddGroupNormClass`: Homs are seminorms such that `f x = 0 → x = 0` for all `x`.
+* `GroupNormClass`: Homs are seminorms such that `f x = 0 → x = 1` for all `x`.
+
+Ring norms
+* `RingSeminormClass`: Homs are submultiplicative group norms.
+* `RingNormClass`: Homs are ring seminorms that are also additive group norms.
+* `MulRingSeminormClass`: Homs are ring seminorms that are multiplicative.
+* `MulRingNormClass`: Homs are ring norms that are multiplicative.
+
+## Notes
+
+Typeclasses for seminorms are defined here while types of seminorms are defined in
+`Analysis.Normed.Group.Seminorm` and `Analysis.Normed.Ring.Seminorm` because absolute values are
+multiplicative ring norms but outside of this use we only consider real-valued seminorms.
+
 ## TODO
 
 Finitary versions of the current lemmas.
 -/
 
+
+library_note "out-param inheritance"/--
+Diamond inheritance cannot depend on `outParam`s in the following circumstances:
+ * there are three classes `Top`, `Middle`, `Bottom`
+ * all of these classes have a parameter `(α : outParam _)`
+ * all of these classes have an instance parameter `[Root α]` that depends on this `outParam`
+ * the `Root` class has two child classes: `Left` and `Right`, these are siblings in the hierarchy
+ * the instance `Bottom.toMiddle` takes a `[Left α]` parameter
+ * the instance `Middle.toTop` takes a `[Right α]` parameter
+ * there is a `Leaf` class that inherits from both `Left` and `Right`.
+In that case, given instances `Bottom α` and `Leaf α`, Lean cannot synthesize a `Top α` instance,
+even though the hypotheses of the instances `Bottom.toMiddle` and `Middle.toTop` are satisfied.
+
+There are two workarounds:
+* You could replace the bundled inheritance implemented by the instance `Middle.toTop` with
+  unbundled inheritance implemented by adding a `[Top α]` parameter to the `Middle` class. This is
+  the preferred option since it is also more compatible with Lean 4, at the cost of being more work
+  to implement and more verbose to use.
+* You could weaken the `Bottom.toMiddle` instance by making it depend on a subclass of
+  `Middle.toTop`'s parameter, in this example replacing `[Left α]` with `[Leaf α]`.
+-/
+
 open Function
 
 variable {ι F α β γ δ : Type _}
 
+/-! ### Basics -/
+
 /-- `NonnegHomClass F α β` states that `F` is a type of nonnegative morphisms. -/
 class NonnegHomClass (F : Type _) (α β : outParam (Type _)) [Zero β] [LE β] extends
   FunLike F α fun _ => β where
@@ -122,3 +166,201 @@ theorem le_map_div_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAd
 -- #align tactic.positivity_map tactic.positivity_map
 
 --end Mathlib.Meta.Positivity
+
+/-! ### Group (semi)norms -/
+
+
+/-- `AddGroupSeminormClass F α` states that `F` is a type of `β`-valued seminorms on the additive
+group `α`.
+
+You should extend this class when you extend `AddGroupSeminorm`. -/
+class AddGroupSeminormClass (F : Type _) (α β : outParam <| Type _) [AddGroup α]
+  [OrderedAddCommMonoid β] extends SubadditiveHomClass F α β where
+  /-- The image of zero is zero. -/
+  map_zero (f : F) : f 0 = 0
+  /-- The map is invariant under negation of its argument. -/
+  map_neg_eq_map (f : F) (a : α) : f (-a) = f a
+#align add_group_seminorm_class AddGroupSeminormClass
+
+/-- `GroupSeminormClass F α` states that `F` is a type of `β`-valued seminorms on the group `α`.
+
+You should extend this class when you extend `GroupSeminorm`. -/
+@[to_additive]
+class GroupSeminormClass (F : Type _) (α β : outParam <| Type _) [Group α]
+  [OrderedAddCommMonoid β] extends MulLEAddHomClass F α β where
+  /-- The image of one is zero. -/
+  map_one_eq_zero (f : F) : f 1 = 0
+  /-- The map is invariant under inversion of its argument. -/
+  map_inv_eq_map (f : F) (a : α) : f a⁻¹ = f a
+#align group_seminorm_class GroupSeminormClass
+
+/-- `AddGroupNormClass F α` states that `F` is a type of `β`-valued norms on the additive group
+`α`.
+
+You should extend this class when you extend `AddGroupNorm`. -/
+class AddGroupNormClass (F : Type _) (α β : outParam <| Type _) [AddGroup α]
+  [OrderedAddCommMonoid β] extends AddGroupSeminormClass F α β where
+  /-- The argument is zero if its image under the map is zero. -/
+  eq_zero_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 0
+#align add_group_norm_class AddGroupNormClass
+
+/-- `GroupNormClass F α` states that `F` is a type of `β`-valued norms on the group `α`.
+
+You should extend this class when you extend `GroupNorm`. -/
+@[to_additive]
+class GroupNormClass (F : Type _) (α β : outParam <| Type _) [Group α]
+  [OrderedAddCommMonoid β] extends GroupSeminormClass F α β where
+  /-- The argument is one if its image under the map is zero. -/
+  eq_one_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 1
+#align group_norm_class GroupNormClass
+
+export AddGroupSeminormClass (map_neg_eq_map)
+
+export GroupSeminormClass (map_one_eq_zero map_inv_eq_map)
+
+export AddGroupNormClass (eq_zero_of_map_eq_zero)
+
+export GroupNormClass (eq_one_of_map_eq_zero)
+
+attribute [simp] map_one_eq_zero -- porting note: `to_additive` translation already exists
+
+attribute [simp] map_neg_eq_map
+
+attribute [simp] map_inv_eq_map -- porting note: `to_additive` translation already exists
+
+attribute [to_additive] GroupSeminormClass.toMulLEAddHomClass
+
+-- See note [lower instance priority]
+instance (priority := 100) AddGroupSeminormClass.toZeroHomClass {_ : AddGroup α}
+    {_ : OrderedAddCommMonoid β} [AddGroupSeminormClass F α β] : ZeroHomClass F α β :=
+  { ‹AddGroupSeminormClass F α β› with }
+#align add_group_seminorm_class.to_zero_hom_class AddGroupSeminormClass.toZeroHomClass
+
+section GroupSeminormClass
+
+variable [Group α] [OrderedAddCommMonoid β] [GroupSeminormClass F α β] (f : F) (x y : α)
+
+@[to_additive]
+theorem map_div_le_add : f (x / y) ≤ f x + f y :=
+  by
+  rw [div_eq_mul_inv, ← map_inv_eq_map f y]
+  exact map_mul_le_add _ _ _
+#align map_div_le_add map_div_le_add
+#align map_sub_le_add map_sub_le_add
+
+@[to_additive]
+theorem map_div_rev : f (x / y) = f (y / x) := by rw [← inv_div, map_inv_eq_map]
+#align map_div_rev map_div_rev
+#align map_sub_rev map_sub_rev
+
+@[to_additive]
+theorem le_map_add_map_div' : f x ≤ f y + f (y / x) := by
+  simpa only [add_comm, map_div_rev, div_mul_cancel'] using map_mul_le_add f (x / y) y
+#align le_map_add_map_div' le_map_add_map_div'
+#align le_map_add_map_sub' le_map_add_map_sub'
+
+end GroupSeminormClass
+
+example [OrderedAddCommGroup β] : OrderedAddCommMonoid β :=
+  inferInstance
+
+@[to_additive]
+theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSeminormClass F α β]
+    (f : F) (x y : α) : |f x - f y| ≤ f (x / y) :=
+  by
+  rw [abs_sub_le_iff, sub_le_iff_le_add', sub_le_iff_le_add']
+  exact ⟨le_map_add_map_div _ _ _, le_map_add_map_div' _ _ _⟩
+#align abs_sub_map_le_div abs_sub_map_le_div
+#align abs_sub_map_le_sub abs_sub_map_le_sub
+
+-- See note [lower instance priority]
+@[to_additive]
+instance (priority := 100) GroupSeminormClass.toNonnegHomClass {_ : Group α}
+    {_ : LinearOrderedAddCommMonoid β} [GroupSeminormClass F α β] : NonnegHomClass F α β :=
+  { ‹GroupSeminormClass F α β› with
+    map_nonneg := fun f a =>
+      (nsmul_nonneg_iff two_ne_zero).1 <|
+        by
+        rw [two_nsmul, ← map_one_eq_zero f, ← div_self' a]
+        exact map_div_le_add _ _ _ }
+#align group_seminorm_class.to_nonneg_hom_class GroupSeminormClass.toNonnegHomClass
+#align add_group_seminorm_class.to_nonneg_hom_class AddGroupSeminormClass.toNonnegHomClass
+
+section GroupNormClass
+
+variable [Group α] [OrderedAddCommMonoid β] [GroupNormClass F α β] (f : F) {x : α}
+
+@[to_additive (attr := simp)]
+theorem map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 :=
+  ⟨eq_one_of_map_eq_zero _, by
+    rintro rfl
+    exact map_one_eq_zero _⟩
+#align map_eq_zero_iff_eq_one map_eq_zero_iff_eq_one
+#align map_eq_zero_iff_eq_zero map_eq_zero_iff_eq_zero
+
+@[to_additive]
+theorem map_ne_zero_iff_ne_one : f x ≠ 0 ↔ x ≠ 1 :=
+  (map_eq_zero_iff_eq_one _).not
+#align map_ne_zero_iff_ne_one map_ne_zero_iff_ne_one
+#align map_ne_zero_iff_ne_zero map_ne_zero_iff_ne_zero
+
+end GroupNormClass
+
+@[to_additive]
+theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormClass F α β] (f : F)
+    {x : α} (hx : x ≠ 1) : 0 < f x :=
+  (map_nonneg _ _).lt_of_ne <| ((map_ne_zero_iff_ne_one _).2 hx).symm
+#align map_pos_of_ne_one map_pos_of_ne_one
+#align map_pos_of_ne_zero map_pos_of_ne_zero
+
+/-! ### Ring (semi)norms -/
+
+
+/-- `RingSeminormClass F α` states that `F` is a type of `β`-valued seminorms on the ring `α`.
+
+You should extend this class when you extend `RingSeminorm`. -/
+class RingSeminormClass (F : Type _) (α β : outParam <| Type _) [NonUnitalNonAssocRing α]
+  [OrderedSemiring β] extends AddGroupSeminormClass F α β, SubmultiplicativeHomClass F α β
+#align ring_seminorm_class RingSeminormClass
+
+/-- `RingNormClass F α` states that `F` is a type of `β`-valued norms on the ring `α`.
+
+You should extend this class when you extend `RingNorm`. -/
+class RingNormClass (F : Type _) (α β : outParam <| Type _) [NonUnitalNonAssocRing α]
+  [OrderedSemiring β] extends RingSeminormClass F α β, AddGroupNormClass F α β
+#align ring_norm_class RingNormClass
+
+/-- `MulRingSeminormClass F α` states that `F` is a type of `β`-valued multiplicative seminorms
+on the ring `α`.
+
+You should extend this class when you extend `MulRingSeminorm`. -/
+class MulRingSeminormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing α]
+  [OrderedSemiring β] extends AddGroupSeminormClass F α β, MonoidWithZeroHomClass F α β
+#align mul_ring_seminorm_class MulRingSeminormClass
+
+/-- `MulRingNormClass F α` states that `F` is a type of `β`-valued multiplicative norms on the
+ring `α`.
+
+You should extend this class when you extend `MulRingNorm`. -/
+class MulRingNormClass (F : Type _) (α β : outParam <| Type _) [NonAssocRing α]
+  [OrderedSemiring β] extends MulRingSeminormClass F α β, AddGroupNormClass F α β
+#align mul_ring_norm_class MulRingNormClass
+
+-- See note [out-param inheritance]
+-- See note [lower instance priority]
+instance (priority := 100) RingSeminormClass.toNonnegHomClass {_ : NonUnitalNonAssocRing α}
+    {_ : LinearOrderedSemiring β} [RingSeminormClass F α β] : NonnegHomClass F α β :=
+  AddGroupSeminormClass.toNonnegHomClass
+#align ring_seminorm_class.to_nonneg_hom_class RingSeminormClass.toNonnegHomClass
+
+-- See note [lower instance priority]
+instance (priority := 100) MulRingSeminormClass.toRingSeminormClass {_ : NonAssocRing α}
+    {_ : OrderedSemiring β} [MulRingSeminormClass F α β] : RingSeminormClass F α β :=
+  { ‹MulRingSeminormClass F α β› with map_mul_le_mul := fun f a b => (map_mul _ _ _).le }
+#align mul_ring_seminorm_class.to_ring_seminorm_class MulRingSeminormClass.toRingSeminormClass
+
+-- See note [lower instance priority]
+instance (priority := 100) MulRingNormClass.toRingNormClass {_ : NonAssocRing α}
+    {_ : OrderedSemiring β} [MulRingNormClass F α β] : RingNormClass F α β :=
+  { ‹MulRingNormClass F α β›, MulRingSeminormClass.toRingSeminormClass with }
+#align mul_ring_norm_class.to_ring_norm_class MulRingNormClass.toRingNormClass
chore: add #align statements for to_additive decls (#1816)

Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>

Diff
@@ -88,24 +88,28 @@ theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [Submultiplicat
     (f : F) (a b : α) : f a ≤ f b * f (a / b) := by
   simpa only [mul_comm, div_mul_cancel'] using map_mul_le_mul f (a / b) b
 #align le_map_mul_map_div le_map_mul_map_div
+#align le_map_add_map_sub le_map_add_map_sub
 
 @[to_additive]
 theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β] (f : F)
     (a b : α) : f a ≤ f b + f (a / b) := by
   simpa only [add_comm, div_mul_cancel'] using map_mul_le_add f (a / b) b
 #align le_map_add_map_div le_map_add_map_div
+-- #align le_map_add_map_sub le_map_add_map_sub -- Porting note: TODO: `to_additive` clashes
 
 @[to_additive]
 theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
     (f : F) (a b c : α) : f (a / c) ≤ f (a / b) * f (b / c) := by
   simpa only [div_mul_div_cancel'] using map_mul_le_mul f (a / b) (b / c)
 #align le_map_div_mul_map_div le_map_div_mul_map_div
+#align le_map_sub_add_map_sub le_map_sub_add_map_sub
 
 @[to_additive]
 theorem le_map_div_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β]
     (f : F) (a b c : α) : f (a / c) ≤ f (a / b) + f (b / c) := by
     simpa only [div_mul_div_cancel'] using map_mul_le_add f (a / b) (b / c)
 #align le_map_div_add_map_div le_map_div_add_map_div
+-- #align le_map_sub_add_map_sub le_map_sub_add_map_sub -- Porting note: TODO: `to_additive` clashes
 
 --namespace Mathlib.Meta.Positivity
 
chore: Fix capitalisation in algebra.order.hom.basic (#1237)

The port introduced more caps than necessary in the names. "nonnegative", "subadditive", "submultiplicative" and "nonarchimedean" are all one word each, so shouldn't get caps in the middle. SubAdditive and SubMultiplicative are particularly dangerous in my opinion, because they should be interpreted as saying that Sub is additive/multiplicative.

Co-authored-by: Reid Barton <rwbarton@gmail.com>

Diff
@@ -19,11 +19,11 @@ This file defines hom classes for common properties at the intersection of order
 
 ## Typeclasses
 
-* `NonNegHomClass`: Homs are nonnegative: `∀ f a, 0 ≤ f a`
-* `SubAdditiveHomClass`: Homs are subadditive: `∀ f a b, f (a + b) ≤ f a + f b`
-* `SubMultiplicativeHomClass`: Homs are submultiplicative: `∀ f a b, f (a * b) ≤ f a * f b`
+* `NonnegHomClass`: Homs are nonnegative: `∀ f a, 0 ≤ f a`
+* `SubadditiveHomClass`: Homs are subadditive: `∀ f a b, f (a + b) ≤ f a + f b`
+* `SubmultiplicativeHomClass`: Homs are submultiplicative: `∀ f a b, f (a * b) ≤ f a * f b`
 * `MulLEAddHomClass`: `∀ f a b, f (a * b) ≤ f a + f b`
-* `NonArchimedeanHomClass`: `∀ a b, f (a + b) ≤ max (f a) (f b)`
+* `NonarchimedeanHomClass`: `∀ a b, f (a + b) ≤ max (f a) (f b)`
 
 ## TODO
 
@@ -34,57 +34,57 @@ open Function
 
 variable {ι F α β γ δ : Type _}
 
-/-- `NonNegHomClass F α β` states that `F` is a type of nonnegative morphisms. -/
-class NonNegHomClass (F : Type _) (α β : outParam (Type _)) [Zero β] [LE β] extends
+/-- `NonnegHomClass F α β` states that `F` is a type of nonnegative morphisms. -/
+class NonnegHomClass (F : Type _) (α β : outParam (Type _)) [Zero β] [LE β] extends
   FunLike F α fun _ => β where
   /-- the image of any element is non negative. -/
   map_nonneg (f : F) : ∀ a, 0 ≤ f a
-#align nonneg_hom_class NonNegHomClass
+#align nonneg_hom_class NonnegHomClass
 
-/-- `SubAdditiveHomClass F α β` states that `F` is a type of subadditive morphisms. -/
-class SubAdditiveHomClass (F : Type _) (α β : outParam (Type _)) [Add α] [Add β] [LE β] extends
+/-- `SubadditiveHomClass F α β` states that `F` is a type of subadditive morphisms. -/
+class SubadditiveHomClass (F : Type _) (α β : outParam (Type _)) [Add α] [Add β] [LE β] extends
   FunLike F α fun _ => β where
   /-- the image of a sum is less or equal than the sum of the images. -/
   map_add_le_add (f : F) : ∀ a b, f (a + b) ≤ f a + f b
-#align subadditive_hom_class SubAdditiveHomClass
+#align subadditive_hom_class SubadditiveHomClass
 
-/-- `SubMultiplicativeHomClass F α β` states that `F` is a type of submultiplicative morphisms. -/
-@[to_additive SubAdditiveHomClass]
-class SubMultiplicativeHomClass (F : Type _) (α β : outParam (Type _)) [Mul α] [Mul β] [LE β]
+/-- `SubmultiplicativeHomClass F α β` states that `F` is a type of submultiplicative morphisms. -/
+@[to_additive SubadditiveHomClass]
+class SubmultiplicativeHomClass (F : Type _) (α β : outParam (Type _)) [Mul α] [Mul β] [LE β]
   extends FunLike F α fun _ => β where
   /-- the image of a product is less or equal than the product of the images. -/
   map_mul_le_mul (f : F) : ∀ a b, f (a * b) ≤ f a * f b
-#align submultiplicative_hom_class SubMultiplicativeHomClass
+#align submultiplicative_hom_class SubmultiplicativeHomClass
 
 /-- `MulLEAddHomClass F α β` states that `F` is a type of subadditive morphisms. -/
-@[to_additive SubAdditiveHomClass]
+@[to_additive SubadditiveHomClass]
 class MulLEAddHomClass (F : Type _) (α β : outParam (Type _)) [Mul α] [Add β] [LE β]
   extends FunLike F α fun _ => β where
   /-- the image of a product is less or equal than the sum of the images. -/
   map_mul_le_add (f : F) : ∀ a b, f (a * b) ≤ f a + f b
 #align mul_le_add_hom_class MulLEAddHomClass
 
-/-- `NonArchimedeanHomClass F α β` states that `F` is a type of non-archimedean morphisms. -/
-class NonArchimedeanHomClass (F : Type _) (α β : outParam (Type _)) [Add α] [LinearOrder β]
+/-- `NonarchimedeanHomClass F α β` states that `F` is a type of non-archimedean morphisms. -/
+class NonarchimedeanHomClass (F : Type _) (α β : outParam (Type _)) [Add α] [LinearOrder β]
   extends FunLike F α fun _ => β where
   /-- the image of a sum is less or equal than the maximum of the images. -/
   map_add_le_max (f : F) : ∀ a b, f (a + b) ≤ max (f a) (f b)
-#align nonarchimedean_hom_class NonArchimedeanHomClass
+#align nonarchimedean_hom_class NonarchimedeanHomClass
 
-export NonNegHomClass (map_nonneg)
+export NonnegHomClass (map_nonneg)
 
-export SubAdditiveHomClass (map_add_le_add)
+export SubadditiveHomClass (map_add_le_add)
 
-export SubMultiplicativeHomClass (map_mul_le_mul)
+export SubmultiplicativeHomClass (map_mul_le_mul)
 
 export MulLEAddHomClass (map_mul_le_add)
 
-export NonArchimedeanHomClass (map_add_le_max)
+export NonarchimedeanHomClass (map_add_le_max)
 
 attribute [simp] map_nonneg
 
 @[to_additive]
-theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubMultiplicativeHomClass F α β]
+theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
     (f : F) (a b : α) : f a ≤ f b * f (a / b) := by
   simpa only [mul_comm, div_mul_cancel'] using map_mul_le_mul f (a / b) b
 #align le_map_mul_map_div le_map_mul_map_div
@@ -96,7 +96,7 @@ theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHom
 #align le_map_add_map_div le_map_add_map_div
 
 @[to_additive]
-theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubMultiplicativeHomClass F α β]
+theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
     (f : F) (a b c : α) : f (a / c) ≤ f (a / b) * f (b / c) := by
   simpa only [div_mul_div_cancel'] using map_mul_le_mul f (a / b) (b / c)
 #align le_map_div_mul_map_div le_map_div_mul_map_div
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
@@ -2,6 +2,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
+
+! This file was ported from Lean 3 source module algebra.order.hom.basic
+! leanprover-community/mathlib commit 70d50ecfd4900dd6d328da39ab7ebd516abe4025
+! Please do not edit these lines, except to modify the commit id
+! if you have ported upstream changes.
 -/
 
 import Mathlib.Tactic.Positivity

Dependencies 2 + 113

114 files ported (98.3%)
47268 lines ported (99.7%)
Show graph

The unported dependencies are